gpt4 book ai didi

java - 获取android中所有已安装应用的名称、图标和包名

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:50 25 4
gpt4 key购买 nike

我希望能够获取我手机中安装的所有应用程序的字符串包名和图标。我做了什么:浏览并找到了这个解决方案

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); 
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = this.getPackageManager().queryIntentActivities(mainIntent, 0);
for(int counter = 0; counter<=pkgAppsList.size()-1;counter++)
{
Log.e("TAG", pkgAppsList.get(counter).toString());
}

问题是它将包和类名混合显示,我无法获取图标。我想要的是向用户显示手机上安装的所有带有图标的应用程序的列表。我还需要能够使用 List.OnItemClickListener 获取程序包名称。我假设使用一组具有相同定位的应用程序名称和包名称我可以做到这一点。但是我如何获得应用程序图标和带有包名称的名称。最好是 Array 或 ArrayList,我可以将其转换为 listView 对象。如果有任何替代方法甚至让我知道。我仍然是 Android 的初学者。

请帮忙。

最佳答案

请使用以下代码和说明:

//check this code with some hard work then you will rock
List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);

ArrayList<AppInfo> res = new ArrayList<AppInfo>();
for(int i=0;i<apps.size();i++) {
PackageInfo p = apps.get(i);

AppInfo newInfo = new AppInfo();
newInfo.appname = p.applicationInfo.loadLabel(getPackageManager()).toString();
newInfo.pname = p.packageName;
newInfo.versionName = p.versionName;
newInfo.versionCode = p.versionCode;
newInfo.icon = p.applicationInfo.loadIcon(getPackageManager());
res.add(newInfo);
}
}

class AppInfo {
String appname = "";
String pname = "";
String versionName = "";
int versionCode = 0;
Drawable icon;

}

有关更多信息,请尝试以下链接: http://javatechig.com/android/how-to-get-list-of-installed-apps-in-android http://developer.android.com/reference/android/content/pm/PackageManager.html

关于java - 获取android中所有已安装应用的名称、图标和包名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32316002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com