

AdvertisingIDを取得するために公式ドキュメント( <http://www.androiddocs.com/google/play-
services/id.html> )の通りにソースコードを書いたのですがうまく行きませんでした．  
追記したのは次のようなコードです．  
[app.gradle]

[code]

    dependencies {
        compile 'com.google.android.gms:play-services:8.3.0'
    }
    
[/code]

[AndroidManifest.xmlのタグの中]

[code]

    <meta-data android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
    
[/code]

[MainActivity.javaのonCreate()]

[code]

    new AdIDTask(this).execute();
    
[/code]

[MainActivity.javaのインナークラス]

[code]

    private class AdIDTask extends AsyncTask<Void,Void, String>{
        Context context_;
        public AdIDTask(Context c){
            context_ = c;
        }
        @Override
        protected String doInBackground(Void... params) {
            //非同期で行われる処理
            try {
                AdvertisingIdClient.Info info = AdvertisingIdClient.getAdvertisingIdInfo(context_);
                return info.getId();
            } catch (Exception e) {
                return null;
            }catch (NoClassDefFoundError e){
                return null;
            }
        }
    
        @Override
        protected void onPostExecute(String advertisingID) {
            if (advertisingID != null) {
                //AdIdが取得できた場合
            }
            else{
                //AdIdが取得できなかった場合
            }
        }
    }
    
[/code]

try文の中の1行目のメソッドgetAdvertisingIdInfoを実行すると，関数からリターンが返ってこず，かつ例外もハンドリングされませんでした．  
ちなみに同一アプリ内でgooglemapAPIを使っているのですがそちらは正常に動作しました．  
どなたか，原因に心当たりのある方，ご教授いただければ幸いです．


CC BY-SA 3.0
2016-02-17T06:14:52.257
22196
2016-02-18T10:35:51.343
2016-02-17T06:20:09.463
14439
14439
question
android google-play-service
AdvertisingIDの取得がうまくいかない


公式ドキュメント先のExample implementationに記載されている通りのcatchを記載してみてください。  
もし`GooglePlayServicesNotAvailableException`に入れば、該当のサービスが利用できない端末（AVDで確認）で実行していることになります。`GooglePlayServicesRepairableException`に入る場合の条件が不明ですが（Google
Play Serviceが古い？）、実行している端末の方に問題がある可能性があります。

ちなみにuser14439さんの書かれた内容で、実機（Nexus6）にてAdvertisingIdの取得を確認することができました。


CC BY-SA 3.0
2016-02-18T10:35:51.343
22235
2016-02-18T10:35:51.343
10880
22196
answer