Как узнать прописано ли в manifest category.HOME?

У меня есть несколько манифест файлов под разные сборки, в одном из них активность с <category android:name="android.intent.category.HOME" />, как мне программно прочитать код манифеста или узнать что там действительно есть category.HOME??


Ответы (2 шт):

Автор решения: Sergei Buvaka

Это невозможно, потому что после создания вашего приложения все конвертируется в APK, и этот манифест больше не доступен для чтения во время выполнения.

Однако вы можете попробовать поискать нужные вам данные в PackageManager.

→ Ссылка
Автор решения: Tiarait

Собственно по совету Sergei Buvaka использовал PackageManager для определения есть ли в приложении активность с category.HOME

public static boolean isLauncherPackage(Context context) {
    boolean result = false;
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent, 0);
    for (ResolveInfo info : list) {
        if (info.activityInfo.packageName.equalsIgnoreCase(context.getPackageName())) {
            result = true;
            break;
        }
    }
    return result;
}
→ Ссылка