2012-02-15 83 views
1

有沒有方法可以通過編程檢查Android設備是否運行Google服務?如果設備(如Kindle Fire和Nook)沒有所需的Google服務,我有一個使用C2DM的應用程序,並希望禁用包括此選項的菜單選項。在Android設備上檢測Google服務

回答

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 2012-02-16 15:44:34

相關問題