【发布时间】:2014-08-14 12:31:20
【问题描述】:
我正在我的应用程序中启动Settings.ACTION_DEVICE_INFO_SETTINGS 意图。它适用于我拥有的大多数设备,除了 4.1.2 和 4.2。每当我尝试在此设备中启动上述意图时,设置应用程序都会强制关闭,这也会导致我的应用程序停止运行。
在启动Settings.ACTION_DEVICE_INFO_SETTINGS intent 之前有什么方法可以检查吗?或者至少可以防止停止我的应用程序?
我已经尝试将 startActivity(Intent) 放入 try-catch 块中。但这不是这里的问题,因为存在设置活动并且在执行onCreate() 时它会崩溃。
这是堆栈跟踪:
08-14 17:38:37.984: E/AndroidRuntime(9905): FATAL EXCEPTION: main
08-14 17:38:37.984: E/AndroidRuntime(9905): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings$DeviceInfoSettingsActivity}: java.lang.NullPointerException
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2062)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2087)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread.access$600(ActivityThread.java:133)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1198)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.os.Handler.dispatchMessage(Handler.java:99)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.os.Looper.loop(Looper.java:137)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread.main(ActivityThread.java:4803)
08-14 17:38:37.984: E/AndroidRuntime(9905): at java.lang.reflect.Method.invokeNative(Native Method)
08-14 17:38:37.984: E/AndroidRuntime(9905): at java.lang.reflect.Method.invoke(Method.java:511)
08-14 17:38:37.984: E/AndroidRuntime(9905): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
08-14 17:38:37.984: E/AndroidRuntime(9905): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556)
08-14 17:38:37.984: E/AndroidRuntime(9905): at dalvik.system.NativeStart.main(Native Method)
08-14 17:38:37.984: E/AndroidRuntime(9905): Caused by: java.lang.NullPointerException
08-14 17:38:37.984: E/AndroidRuntime(9905): at com.android.settings.DeviceInfoSettings.onCreate(DeviceInfoSettings.java:98)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:796)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1035)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.BackStackRecord.run(BackStackRecord.java:635)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1397)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.Activity.performStart(Activity.java:5017)
08-14 17:38:37.984: E/AndroidRuntime(9905): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2035)
08-14 17:38:37.984: E/AndroidRuntime(9905): ... 11 more
08-14 17:38:37.984: W/ActivityManager(658): Force finishing activity com.android.settings/.Settings$DeviceInfoSettingsActivity
【问题讨论】:
标签: java android eclipse android-intent