端末にGoogle Play Servicesがインストールされているか確認する方法
こんにちは、@9ensanです。
2012年12月にAndroidの「Google Mapがversion2」になって、「Google Play Services」を利用するようになりました。
となるとここで問題が1つ、端末にGoogle Play Servicesが入っているかどうか確認が必要になるのでは?と言う事です。
色々とGoogleのサイトを見ているとLocation API関連のサンプルコードに「Google Play Services」のインストールチェックについて説明が記載されていました。
Googleの対象のドキュメントページはこちらです。
それでは、その内容について解説していきます。
コード解説
- まず「Google Play Services」は、Android 2.2から利用できるので、サポートライブラリの「android.support.v4.app.FragmentActivity」を継承します。
public class MainActivity extends FragmentActivity implements LocationListener, GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener {
- 「GooglePlayServicesUtil.isGooglePlayServicesAvailable」を呼び出してGoogle Play Servicesが使えるかどうか確認します。
// Check that Google Play services is available int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
- 戻り値は、intで戻ってきます。戻り値の内容は「ConnectionResult型のコンスタント値」で設定されてきます。
エラーがない場合は、「ConnectionResult.SUCCESS」で戻って来ます。
エラーが発生した場合は、上記以外のコンスタント値が設定されて戻ってきます。// If Google Play services is available if (ConnectionResult.SUCCESS == resultCode) {
- エラーの値が戻ってきた場合、「GooglePlayServicesUtil.getErrorDialog」の第1引数に戻り値を設定して呼び出します。
そうするとDialogのインスタンスが戻ってくるので、DialogFragmentを利用してダイアログを表示します。// Display an error dialog Dialog dialog = GooglePlayServicesUtil.getErrorDialog(resultCode, this, 0); if (dialog != null) { ErrorDialogFragment errorFragment = new ErrorDialogFragment(); errorFragment.setDialog(dialog); errorFragment.show(getSupportFragmentManager(), LocationUtils.APPTAG); }
この手順で、アプリを操作している端末が「Google Play Services」が使えるかどうかチェックできます
しかもエラーがあった場合のダイアログの内容もAndroid側でなんとかしてくれるみたい、すごく便利です。
今回「Google Play Services」のエラーチェック方法をまとめてみて面倒な事はGoogleもなるべくさせないように頑張ってるんだなと驚きました。
このサービスの利用者が増えると色々な情報が集まるから(??どんな情報抜かれてるか全くしりませんが…)Googleとしても頑張っているのではと憶測してしまいます。
「Google Play Services」を利用する場合は是非入れてみて下さい。
今回紹介したソースコードは、「Retrieving the Current Location」からダウンロードできますので、気になる方はダウンロードして参考にしてください。
.
関連する記事:
- Google Maps Android API v2のサンプルを動作させるまでの解説
- 暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法
- CentOSでNode.jsをnvm経由でインストールする方法
- Gmailアカウントの乗っ取り防止にGoogleアカウントの2段階認証を設定してみた
- SSHでのログインのセキュリティエラー(homeディレクトリのパーミッション)
コメント 0