インストールされているアプリケーションとシステムアプリケーションの両方のリストを別々に作成したい.以下は私のコードです
List<ApplicationInfo> appList = packageManager.getInstalledApplications(0);
if(appList != null && !appList.isEmpty()){
for (ApplicationInfo appInfo : appList) {
Intent intent = packageManager.getLaunchIntentForPackage(appInfo.packageName);
if(intent != null){
ComponentName componentName = intent.getComponent();
if((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
//It is a system app
}else{
//It is an installed app.
}
}
}
}
リストビューのクリックで各アプリを起動したいのですが、連絡先、マップなどの一部のアプリケーションでは、 componentName .getClassName()が「com.android.internal.app.ResolverActivity 」として表示されます。正確なクラス名を取得するにはどうすればよいですかアプリケーションの分類が難しいため、ResolveInfoを使用できませんでした。
パッケージ名を使用してアプリケーションの正確なクラス名を取得するには?
前もって感謝します