我通过执行以下操作检索主要活动中的设备ID:
String UDID = System.getString(this.getContentResolver(), System.ANDROID_ID);
稍后在我的代码中我启动了一个新的Activity,其中我也需要UDID,但是当我运行相同的代码行时它会崩溃:
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,但我想必须有更好的方法。
答案 0 :(得分:0)
虽然不推荐使用,似乎对我有用
String id_deprecated = System.getString(this.getContentResolver(),
android.provider.Settings.System.ANDROID_ID);
您应该使用Settings.Secure中定义的ANDROID_ID
String id_new =System.getString(this.getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID);