2016-09-07 5 views
1

ユニークなIDを生成できるAndroid SDK 19(Kitkat)と互換性のあるアプリケーションを作成しようとしています。 (私はそれがキットカットに対応している見るので)私は現在com.google.android.gms:play-services:7.0.0を使用していますし、私のコードは私のエミュレータ(ネクサス5 + Androidの19 +インテルのx86)に対してこれを実行しているとき、私は取得しています。このConnectionResult.SUCCESSがまだGooglePlayServicesNotAvailableExceptionを取得しています

final int answer = GooglePlayServicesUtil.isGooglePlayServicesAvailable(context); 
if (answer != ConnectionResult.SUCCESS) { 
    Log.w(TAG, "Google Play Services is NOT available. Status Code is " + answer); 
    return null; 
} 

// running in async 
try { 
    final AdvertisingIdClient.Info advertisingIdInfo = AdvertisingIdClient.getAdvertisingIdInfo(context); 
    return advertisingIdInfo.getId(); 
} catch (Exception e) { 
    Log.w(TAG, "Unable to generate Advertising id info due to " + e.getMessage()); 
    e.printStackTrace(); 
} 

ようになります私のifステートメントでConnectionResult.SUCCESSが、まだGooglePlayServicesNotAvailableExceptionを取得しています。

私は理由を知りたいと思いますが、理解できないようです。

なぜでしょうか?

W/my.Class(2376):広告のID情報を生成することができませんため、nullに

W/System.errの(2376):com.google.android.gms.common.GooglePlayServicesNotAvailableException

W/System.errの(2376):com.google.android.gms.ads.identifier.AdvertisingIdClient.jで(不明なソース)(2376)

W/System.errの:com.google.androidで.gms.ads.identifier.AdvertisingIdClient.getAdvertisingIdInfo(不明な情報源)

W/System.errの(2376):でmy.Class $ 1 $ 1.doInBackground(Z.java:115)

W/System.errの(2376):android.os.AsyncTask $ 2.callで(AsyncTask .java:288) W/System.err(2376):java.util.concurrent.FutureTask.run(FutureTask.java:237)

W/System.err(2376):android.os AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:231)

W/System.errの(2376):java.util.concurrent.ThreadPoolExecutor.runWorkerで(ThreadPoolExecutor.java:1112)

W /システム.err(2376):at ja va.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:587)

W/System.errの(2376):java.lang.Thread.runで(Thread.java:841)

GooglePlayServicesUtilクラスのメソッドのほとんどは [isGooglePlayServicesAvailable][1]含めて廃止されましたので、あるかもしれない

おかげで、 フランツ

+0

Googleプレイサービスはあなたのエミュレータにインストールされていますか? –

答えて

0

。下記のコードを使用して、Google Playサービスの可用性を確認することができます。

private boolean checkPlayServices() { 
     GoogleApiAvailability apiAvailability = GoogleApiAvailability.getInstance(); 
     int resultCode = apiAvailability.isGooglePlayServicesAvailable(this); 
     if (resultCode != ConnectionResult.SUCCESS) { 
      if (apiAvailability.isUserResolvableError(resultCode)) { 
       apiAvailability.getErrorDialog(this, resultCode, PLAY_SERVICES_RESOLUTION_REQUEST) 
         .show(); 
      } else { 
       Log.i(TAG, "This device is not supported."); 
       finish(); 
      } 
      return false; 
     } 
     return true; 
} 

アップデート: -あなたが与えられたコード上で使用するためには8.4.07.0.0からプレイサービスのバージョンをアップグレードする必要があります。答えはthisです。

関連する問題