アクティビティ(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);
}
}