ギャラリー、連絡先、ダウンロード、電子メールなど、アプリケーションが Android に同梱されているかどうかを確認できるかどうか疑問に思っています。これらの種類のアプリケーションはすべて、作成中のリストから除外したいものです。名前をハードコーディングしたくありません。
これは、アプリケーション名を取得するために使用しているコードです。
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgList = getApplicationContext().getPackageManager().queryIntentActivities(mainIntent, 0);
pkgList には ResolveInfo オブジェクトが含まれています。
編集:
アプリケーションが Android OS の一部であるかどうかを確認する 1 つの方法は、ResolveInfo.activityInfo.applicationInfo.packageName に "com.android" char seq. が含まれているかどうかを確認することですが、より洗練されたソリューションに興味があります。