2015-08-26 26 views
0

我需要檢查是否有移動已啓用/禁用/可用/未安裝播放服務。如何檢查谷歌播放服務啓用/禁用從Android的代碼

我用下面的代碼

final int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 
     if (status != ConnectionResult.SUCCESS) { 
      Log.e(TAG, GooglePlayServicesUtil.getErrorString(status)); 
         return false; 
     } else { 
      Log.i(TAG, GooglePlayServicesUtil.getErrorString(status)); 
         return true; 
     } 

即使是播放服務是禁止狀態返回爲「2」。如何過來這個。?

回答

0

你的方法很好。狀態「2」表示Google Play服務可用,但需要更新。檢查ConnectionResult類所有可能的狀態:

public static final int SUCCESS = 0; 
public static final int SERVICE_MISSING = 1; 
public static final int SERVICE_VERSION_UPDATE_REQUIRED = 2; 
public static final int SERVICE_DISABLED = 3; 
public static final int SIGN_IN_REQUIRED = 4; 
public static final int INVALID_ACCOUNT = 5; 
public static final int RESOLUTION_REQUIRED = 6; 
public static final int NETWORK_ERROR = 7; 
public static final int INTERNAL_ERROR = 8; 
public static final int SERVICE_INVALID = 9; 
public static final int DEVELOPER_ERROR = 10; 
public static final int LICENSE_CHECK_FAILED = 11; 
public static final int CANCELED = 13; 
public static final int TIMEOUT = 14; 
public static final int INTERRUPTED = 15; 
public static final int API_UNAVAILABLE = 16; 
public static final int SIGN_IN_FAILED = 17; 
+0

呀實例..但即使該服務是由後臺應用程序手動禁用,仍返回2,而不是3 – Dev

+0

如果它是什麼都?您的播放服務是否被禁用並且未更新?該方法不能返回兩個狀態,所以它返回其中的一個? – Singed

+1

@Singed在兩者的情況下,它返回「SERVICE_VERSION_UPDATE_REQUIRED = 2」 – Zeba

0

只是說明對於那些試圖找出如何檢查谷歌播放服務已啓用,上述方法

GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); 

現在已經過時了。使用GoogleApiAvailability代替

GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(getActivity()); 
相關問題