У меня есть метод ниже. Он получает все приложения на устройстве и ищет определенные по имени: Hangouts, Skype, Viber, WhatsApp. Все 4 установлены на Motorola Droid MAXX под управлением Android 4.4.4. и Samsung SM-T530NU с 5.0.2.
На обоих устройствах не находит Hangouts. Есть идеи, почему это так?
Выход:
com.skype.raider/.Main m=0x108000} Фильтр намерений: null
com.viber.voip/.WelcomeActivity m=0x108000} Фильтр намерений: null
com.whatsapp/.Main m=0x108000} Фильтр намерений : нулевой
Я удалил условие if и перечислил все приложения и выполнил поиск вручную (так сказать). Я ничего не видел о тусовках, ханг, хо, ...
public static List<ResolveInfo> getAllInstalledApps(Context context) {
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> appsList = context.getPackageManager().queryIntentActivities(mainIntent, 0);
for (ResolveInfo resolveInfo : appsList) {
String infoString = resolveInfo.toString();
if (infoString.contains("hangouts") ||
infoString.contains("skype") ||
infoString.contains("viber") ||
infoString.contains("whatsapp")) {
Log.i("getAllInstalledApps", resolveInfo.toString() + " Intent filter: " + resolveInfo.filter);
}
}
return appsList;
}