2017-12-19 8 views
0

私はGoogleApiAvailabilityをチェックするthis guideを、次の午前、それはgetErrorDialog(int responseCode)新しいGoogleApiAvailability.getErrorDialog()のリクエストコードを取得するにはどうすればよいですか?

を呼び出すために私を必要とするが、結果コードは、 SERVICE_VERSION_UPDATE_REQUIRED、またはSERVICE_DISABLED、アップデートをインストールする必要があります し、ユーザーをSERVICE_MISSINGています。この場合、getErrorDialog()メソッド を呼び出し、結果のエラーコードを渡します。

ガイドgetErrorDialogためである(int型にResponseCode) しかしthis page(getErrorDialog上のハイパーリンクは)メソッドは、このメソッドは廃止されました

を推奨されていませんと言います。代わりに、getErrorDialog(Activity、int、int) を使用してください。

は、ドキュメントによれば、第一intを要求コードであり、第二intは応答コードです。私はisGoogleApiAvailable(context)からの応答コードを得ましたが、私は要求コードが何で、どのように取得するのか分かりません。

これは私のコードです:

疑問符が私の周りに一時的な作業がそれに0を通過してきたように、実際の要求コード に置き換えられる
// Ensure Google Play services framework is installed 
     int gAAResult = GoogleApiAvailability 
       .getInstance() 
       .isGooglePlayServicesAvailable(this); 
     if(gAAResult == ConnectionResult.SUCCESS){ 
      Log.d(TAG, "Play services available"); 
     } else { 
      GoogleApiAvailability 
        .getInstance() 
        .getErrorDialog(this, ? ,gAAResult); 
     } 

。私はプレイサービスのないデバイスを持っていません。エミュレータでは、アプリケーションはプレイサービスを更新するためのダイアログ(コードなし)を表示します。しかし、FCMの文書では、このチェックをコード化することを推奨します。

答えて

1

最初の1つのintはconnectionResultで、返されるのはisGooglePlayServicesAvailable(Context context)メソッドです。 2番目はエラーダイアログのrequestCodeです。

エラーダイアログが表示された後、アクティビティのメソッドonActivityResult(int requestCode, int result, Intent data)にコールバックが返され、結果と要求コードが渡されます。実行後の結果フォームを使用していくつかのアクティビティを開始できるので、getErrorDialog(...)メソッドは、結果コードの処理に役立つ操作の一意の識別子として要求コードを渡すように求めます。

実際にこれを実装する必要があるのは、一般的なPlayサービスのエラーダイアログがユーザが携帯電話でPlayサービスを更新するのに役立ち、その問題が実際に解決されたという通知を受けたからです。あなたがとても幸運でない場合にも同じです。

+0

Ohk。私はその反対の方法を考えた。つまり、すべてのアクティビティに対して一意のリクエストコードを定義し、それぞれを使用することができます。ありがとう! – sziraqui

関連する問題