我的应用提供了一个"分享/告诉朋友"的功能。当用户点击"分享"按钮时,将调用以下方法打开能够执行此操作的应用程序列表(例如Gmail、Twittroid、Facebook等):
public void share() {
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getText(R.string.menu_share_subject));
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, getText(R.string.menu_share_body));
startActivity(Intent.createChooser(shareIntent, getText(R.string.menu_share_intent)));
}
分享功能基本上可以正常使用。但是当分享应用程序(Facebook、Twitter等)试图返回到我的应用程序时,会抛出强制关闭的异常。
我猜测在分享过程中,我的应用程序被关闭了。至少这是调试器所说的。
有什么想法吗?
问题似乎是应用程序在后台关闭了。当我从我的应用程序打开浏览器并尝试使用“返回”键返回到我的应用程序时,也会抛出强制关闭异常。以下是Log Cat输出。
04-13 22:28:42.003: ERROR/AndroidRuntime(18915): Uncaught handler: thread main exiting due to uncaught exception 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): java.lang.RuntimeException: Unable to start activity ComponentInfo{eu.xxx.xxx/eu.xxx.xxx.xxx}: java.lang.NullPointerException 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2401) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2417) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread.access$2100(ActivityThread.java:116) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1794) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.os.Handler.dispatchMessage(Handler.java:99) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.os.Looper.loop(Looper.java:123) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread.main(ActivityThread.java:4203) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at java.lang.reflect.Method.invokeNative(Native Method) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at java.lang.reflect.Method.invoke(Method.java:521) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:549) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at dalvik.system.NativeStart.main(Native Method) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): Caused by: java.lang.NullPointerException 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at eu.xxx.xxx.xxx.fillData(xxx.java:178) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at eu.xxx.xxx.xxx.access$1(xxx.java:173) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at eu.xxx.xxx.xxx$1.onTextChanged(xxx.java:139) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.TextView.sendOnTextChanged(TextView.java:6096) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.TextView.setText(TextView.java:2677) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.TextView.setText(TextView.java:2542) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.EditText.setText(EditText.java:71) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.TextView.setText(TextView.java:2517) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.widget.TextView.onRestoreInstanceState(TextView.java:2417) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.view.View.dispatchRestoreInstanceState(View.java:5689) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1125) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1125) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:1125) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.view.View.restoreHierarchyState(View.java:5668) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at com.android.internal.policy.impl.PhoneWindow.restoreHierarchyState(PhoneWindow.java:1506) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.Activity.onRestoreInstanceState(Activity.java:833) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ListActivity.onRestoreInstanceState(ListActivity.java:221) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.Activity.performRestoreInstanceState(Activity.java:805) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1172) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2378) 04-13 22:28:42.253: ERROR/AndroidRuntime(18915): ... 11 more
adb logcat
、DDMS或Eclipse中的DDMS透视图获取此堆栈跟踪。 - CommonsWare