2016-12-30 8 views
0

У меня есть метод ниже. Он получает все приложения на устройстве и ищет определенные по имени: Hangouts, Skype, Viber, WhatsApp. Все 4 установлены на Motorola Droid MAXX под управлением Android 4.4.4. и Samsung SM-T530NU с 5.0.2.Не удается найти Hangouts

На обоих устройствах он не находит Hangouts. Есть идеи, почему это так?

Выход:

com.skype.raider/.Главная т = 0x108000} Намерение фильтр нулевого
com.viber.voip/.WelcomeActivity т = 0x108000} Намерение фильтр нуля
ком. whatsapp/.Main m = 0x108000} Intent filter: null

Я удалил условие 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; 
    } 
+0

примечание после факта: [Google Hangouts больше не поддерживается] (https://developers.google.com/+/hangouts/support-faq) –

ответ

2

Приложение имя пакета для Hangouts на самом деле com.google.android.talk. Вы должны искать это. Совет для поиска имен пакетов - это перейти к URL-адресу страницы продукта. Это часть запроса id в URL-адресе. Например, URL для Google Hangouts является:

https://play.google.com/store/apps/details?id=com.google.android.talk