2017-05-12 22 views
0

特定の携帯電話(Android 6.0を搭載したMIノート4)で起動していないというGoogleプレイスピッカーの問題に直面していますが、残念ながらGoogle Playサービスのダイアログが表示されます。 .. "一部の携帯電話でGoogleプレイスピッカーが起動しない

1)コードは、私たちが持っているすべてのテスト用電話機で動作しています.GingerbreadからNougatまで約20種類のモデルがこの電話機を除いて動作しています。したがって、パーミッションとキーは問題ではないようです。 com.google.android.geo.API_KEYはアプリケーションセクションに適切に配置されています。

2)この電話では特に問題が発生しています。 Google Playサービスが電話にインストールされており、GooglePlayServicesUtil.isGooglePlayServicesAvailableConnectionResult.SUCCESSを返すと予想されます。これはプレースプレイヤーを起動する前に確認します。

3)また、携帯電話にはプレイストアがあります。& Googleマップは正常に動作しており、再生サービスが動作していることを確認しています。

4)原因を見つけるためにgoogle play APIを10.0.1および9.2.0にダウングレードしようとしましたが、動作は同じです。

コードは以下のとおりです。標準的なプレースピッカーコードです。

try { 
    PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); 
    Intent intent = builder.build(this); 
    startActivityForResult(intent, PLACE_PICKER_REQUEST); 
} catch (GooglePlayServicesRepairableException e) { 
    GooglePlayServicesUtil 
        .getErrorDialog(e.getConnectionStatusCode(), this, 0); 
} catch (GooglePlayServicesNotAvailableException e) { 
     Toast.makeText(this, "Google Play Services is not available.", Toast.LENGTH_LONG).show(); 
} catch (Exception e) { 
     Toast.makeText(this, "Google Play Services exception.", Toast.LENGTH_LONG).show(); 
} 

何が間違っている可能性がありますか?

+0

logcatに投稿できる例外はありますか? – AndrewR

答えて

0

この問題は、Googleサービスのために発生しています。 Googleサービスを更新する必要があります。だからちょうどあなたのアプリまたはプレースピッカーを開く前にチェックを入れてください。

if (googlePlayApiStatus == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED) 

Ifはtrueを返します。ユーザーにGoogleサービスを更新するダイアログを表示し、下記のコードを貼り付けてGoogleプレイストアに移動してサービスを更新します。

final String appPackageName = "com.google.android.gms"; 
try { 
/*IT WILL OPEN IN GOOGLE PLAY STORE*/ 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
} 
catch (android.content.ActivityNotFoundException anfe) { 
/*IF GOOGLE PLAY STORE APP NOT FOUND IN DEVICE IT WILL OPEN IN WEB BROWSER*/ 
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); 
} 

これはそれです!

関連する問題