1

我有一款使用Google Maps Android API v2的應用,因此使用Google Play服務。如何協助用戶獲取Google Play服務

我遇到的問題是:如何幫助那些未安裝Google Play服務的用戶?

我做的是平時檢查服務:

int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getBaseContext()); 

      switch (result) { 
      case ConnectionResult.SUCCESS: 
       startActivity(new Intent(this, Map.class));     
       break; 

,如果結果是沒有好我展示一個對話框的選項給用戶:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
       builder.setMessage("Error mesage").setTitle("Error message title"); 

       builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int id) { 

         GooglePlayServicesUtil.getErrorDialog(result, MainMenu.this, 32).show(); 
         dialog.dismiss(); 
        } 
       }); 

當用戶點擊「是」,並提示用戶點擊Google Play服務,並在大多數情況下轉發到Google Play商店。但在這裏有另一個谷歌播放的錯誤消息說,像「單位(電話)是不是與這個版本兼容」,我認爲是奇怪的,因爲我使用HTC Sensation Z710e,我最近更新到4.0.3的Android 。

在我的其他手機HTC Wildfire S A510e與Android 2.3.5當用戶點擊GooglePlayServicesUtil.getErrorDialog上的「獲取Google Play服務」按鈕時,沒有任何反應。

我能做些什麼來幫助用戶獲得Google Play服務? 感謝

回答

1

您可以嘗試兩件事情:

1.Debug並找出結果從isGooglePlayServicesAvailable方法的價值。在出現故障的情況下,它應該是這些值之一:

SERVICE_MISSING, 
SERVICE_VERSION_UPDATE_REQUIRED, 
SERVICE_DISABLED, 
SERVICE_INVALID 

所以,你知道爲什麼完全Google Play services APK不可用。

2.請注意,手機與此版本不兼容 - 此消息有時會在android manifest清單的uses-feature標籤中未提及相應功能時向用戶顯示。

從您的清單中的Feature Reference列表中選擇一個正確的功能,並適當注意uses-sdk和許可標籤。

+0

嗨,謝謝你的回覆。我嘗試了第一件事,但只有在失敗時纔會收到「SERVICE_MISSING」。我在我的清單中有一個,上面寫着「android:glEsVersion =」0x00020000「android:required =」true「這可能與Google Play有關,它不是正確的版本? – PaperThick 2013-03-05 09:19:30

+0

原來, 4.0.3版本的問題在於Google Play商店應用出現錯誤,必須將手機恢復到出廠設置才能使用。 – PaperThick 2013-03-05 11:37:34