2012-01-01 9 views
0

私が行って、私の主な活動のデバイスIDを取得する:私は、私もUDIDが必要とする新しい活動を始めるが、私は同じコード行を実行したときに、それがクラッシュしメインクラス以外でデバイスIDを取得できないのはなぜですか?

String UDID = System.getString(this.getContentResolver(), System.ANDROID_ID); 

後の私のコードで:

01-01 12:20:54.793: ERROR/AndroidRuntime(868): FATAL EXCEPTION: main 
01-01 12:20:54.793: ERROR/AndroidRuntime(868): java.lang.NullPointerException 
01-01 12:20:54.793: ERROR/AndroidRuntime(868):  at android.content.ContextWrapper.getContentResolver(ContextWrapper.java:91) 

私は文脈で何かをしなければならないと理解しますが、これを修正する方法を理解できません。もちろん、私はputExtraを行うことができますが、もっと良い方法があるはずです。 http://stackoverflow.com/questions/:これは

String id_deprecated = System.getString(this.getContentResolver(),  
             android.provider.Settings.System.ANDROID_ID); 

を推奨されていませんけれども

+0

を定義しANDROID_IDを使用する必要があり、私のために動作するようです2785485/is-there-a-unique-android-device-id – strongmayer

答えて

0

はこれを確認してくださいあなたはSettings.Secure

String id_new =System.getString(this.getContentResolver(), 
            android.provider.Settings.Secure.ANDROID_ID); 
+0

id_newを指定してもクラッシュします。 01-01 13:54:30.536:ERROR/AndroidRuntime(477):android.content.ContextWrapper.getContentResolver(ContextWrapper.java:91) – michaelsmith

+0

「this」はアクティビティのインスタンスですか? –

関連する問題