我正在开发一个Android应用程序,我正在尝试检查设备中是否已经安装了应用程序。我使用下面的代码获取应用程序信息。例如,要检查是否安装了谷歌地图,我使用其包名称,如下所示。
ApplicationInfo info1 = getPackageManager().
getApplicationInfo("com.google.android.apps.maps", 0 );
我的问题是,如果将来谷歌改变这个包名,我将不得不更新包名,然后向用户发送更新...除了从包名检查 - 还有其他方法了解是否安装了应用程序?
请帮忙! 谢谢!
答案 0 :(得分:0)
这是我用来获取应用名称,标签,图标和包名称的代码
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.LAUNCHER");
PackageManager manager = getPackageManager();
List<ResolveInfo> resolveinfo_list = manager.queryIntentActivities(intent, 0);
for(ResolveInfo info:resolveinfo_list){
//launchComponent(info.activityInfo.packageName, info.activityInfo.name);
String lActTitle = (String) info.loadLabel(manager);
Drawable d = info.activityInfo.loadIcon(manager);
System.out.println("info.activityInfo.packageName>>>>>>>>>>>>>>>" + info.activityInfo.packageName);
System.out.println("info.activityInfo.name>>>>>>>>>>>>>>>" + info.activityInfo.name);
System.out.println("info.activityInfo.name>>>>>>>>>>>>>>>" + info.activityInfo.name);
// RowItem item = new RowItem(d,info.activityInfo.packageName,lActTitle,info.activityInfo.name);
//rowItems.add(item);
}
使用此功能,我们可以获取用户安装和使用的所有应用