我正在尝试使用以下方法获取我设备中所有可启动的应用程序:
我尝试打印这些应用程序的标签和包名,发现如下信息:
联系人
电话
它们具有不同的应用程序标签,但是相同的包名。当我尝试打开这些应用程序时,它们都打开了联系人应用程序。 有没有办法区分它们?或者我使用了错误的方法来获取应用程序列表?
apps = new ArrayList<>();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> availableActivities = manager.queryIntentActivities(intent, 0);
for(ResolveInfo ri:availableActivities){
AppDetail app = new AppDetail();
app.label = ri.loadLabel(manager);
app.name = ri.activityInfo.packageName;
app.icon = ri.activityInfo.loadIcon(manager);
apps.add(app);
}
我尝试打印这些应用程序的标签和包名,发现如下信息:
联系人
com.sonyericsson.android.socialphonebook
电话
com.sonyericsson.android.socialphonebook
它们具有不同的应用程序标签,但是相同的包名。当我尝试打开这些应用程序时,它们都打开了联系人应用程序。 有没有办法区分它们?或者我使用了错误的方法来获取应用程序列表?