Как узнать прописано ли в 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;
}