我想将我的活动 (com.myapp.launcher.settings) 添加到一个空的 ArrayList。
ArrayList<ResolveInfo> selectedApps = new ArrayList<ResolveInfo>();
selectedApps.add(/*WHAT GOES IN HERE?*/);
但我不知道如何通过我的活动获取 ResolveInfo 对象。
我设法制定了一种解决方法,循环遍历所有应用程序以查找我的活动。但它不是非常有效或实用:
// Get an array list of all apps
ArrayList<ResolveInfo> allApps = (ArrayList<ResolveInfo>) pm.queryIntentActivities(intent, PackageManager.PERMISSION_GRANTED);
for(final ResolveInfo app : allApps) {
// If it's name is "com.myapp.launcher.settings" add it
if(app.activityInfo.name.equals("com.myapp.launcher.settings")) {
selectedApps.add(app);
}
}