Java 意图设置。操作\设备\信息\设置在4.1.2和4.2 Android上不起作用

Java 意图设置。操作\设备\信息\设置在4.1.2和4.2 Android上不起作用,java,android,eclipse,android-intent,Java,Android,Eclipse,Android Intent,我正在应用程序中启动Settings.ACTION\u DEVICE\u INFO\u Settings intent。它适用于除4.1.2和4.2之外的大多数设备。每当我尝试在此设备中启动上述意图时,设置应用程序都会强制关闭,并导致我的应用程序停止运行 在启动Settings.ACTION\u DEVICE\u INFO\u Settings intent之前,是否有任何方法可以检查?或者至少可以阻止停止我的应用程序? 我已经试过把StartActivity帐篷放在try-catch挡块内。但

我正在应用程序中启动Settings.ACTION\u DEVICE\u INFO\u Settings intent。它适用于除4.1.2和4.2之外的大多数设备。每当我尝试在此设备中启动上述意图时,设置应用程序都会强制关闭,并导致我的应用程序停止运行

在启动Settings.ACTION\u DEVICE\u INFO\u Settings intent之前,是否有任何方法可以检查?或者至少可以阻止停止我的应用程序? 我已经试过把StartActivity帐篷放在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
在启动Settings.ACTION\u DEVICE\u INFO\u Settings intent之前,是否有任何方法可以检查

不幸的是,没有,因为意图是有效的-你被那些设备上设置应用程序中的一些错误绊倒了

或者至少可以阻止停止我的应用程序


此崩溃不会对应用程序产生影响。设置应用程序正在崩溃,不是你。崩溃对话框将出现在你的应用程序上,但是你的应用程序应该不会受到影响。

谢谢你的快速回复。但我的应用程序也越来越接近Android ActivityManager。以下是堆栈跟踪:08-14 17:38:37.984:W/activitymanager 658:Force finishing activity com.android.settings/.settings$deviceinfo设置活动08-14 17:38:37.994:W/activitymanager 658:Force finishing activity com.my.android.mynext/.activities。MYActivity@Audumbar:那确实令人失望。我不知道为什么Android会在这种情况下强制完成你的活动。欢迎您使用Build.VERSION.SDK_INT或其他粗过滤器,以避免在给您带来麻烦的版本上启动此活动。或者,考虑以其他方式解决您的问题,例如,如果您可以通过SDK.Error访问数据,请从该设置屏幕中显示您想要的数据。甚至我也尝试在不同的任务中启动设置意图:actionIntent.addFlagsInt.FLAG_ACTIVITY_NEW_task | intent.FLAG_ACTIVITY_REORDER_TO_FRONT;但它仍在失败。无论如何,感谢Commonware。正如您所建议的,我正在使用Build.VERSION.SDK_INT检查版本16和17,而不是调用StartActivityContent。这对我来说很好。但在一些4.1.2设备中,意图设置、动作、设备信息设置正在工作。现在我的问题是如何区分这两种设备?提前谢谢。@Audumbar:所以现在我的问题是如何区分这两种设备我不知道。如果问题是设备不支持Intent操作,并且您得到了ActivityNotFoundException,那么可以采取一些方法来处理该问题。但在你的情况下,设置应用程序声称尊重这一行动,然后崩溃,我不知道有什么可靠的方法可以提前确定这一情况。