2012-02-15 2 views
1

Есть ли способ программно проверить, работает ли Android-устройство Google Services? У меня есть приложение, которое использует C2DM и хочет отключить опции меню, включая это, если у устройства (например, Kindle Fire и Nook) нет необходимых сервисов Google.Обнаружение служб Google на устройстве Android

ответ

3
public static boolean doesContainGsfPackage(Context context) { 
     PackageManager pm = context.getPackageManager(); 
     List<PackageInfo> list = pm.getInstalledPackages(0); 

     for (PackageInfo pi : list) { 
      if(pi.packageName.equals(ACCUWX.GSF_PACKAGE)) return true; // ACCUWX.GSF_PACKAGE = com.google.android.gsf 

     } 

     return false; 
    } 
1

Я точно не знаю, что такое «Службы Google», однако в прошлом я нашел эту функцию надежной при тестировании, если служба работает. Заменив «some.package.name.MyService» на имя пакета услуг Google, вы должны проверить, работает ли он или нет.

private boolean isMyServiceRunning() { 
     ActivityManager manager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
     for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
      if ("some.package.name.MyService".equals(service.service.getClassName())) { 
       return true; 
      } 
     } 
     return false; 
    } 
+0

мне нужно, чтобы найти пакет, содержащий и поэтому используется решение, которое я отправил. Спасибо за попытку! – taraloca

Смежные вопросы