0

嘿,我正在开发一个发送和接收短信的 android 应用程序,我试图找到一种方法来删除与应用程序有关的短信。我在几篇文章中遇到了 abortBroadcast() 方法,并决定试一试。我在我的各种 if 语句树中放置了几个 abortBroadcast() 调用(不同的文本导致不同的操作)。

好吧,在我从应用程序中向自己发送了一条文本之后,我没有收到它。所以我想我可能用 abortBroadcast 命令过度杀了它。但是即使我从代码中删除了所有这些,甚至从手机中卸载了应用程序,然后重新启动了手机,我仍然无法收到任何短信!发送工作正常,但我无法再收到任何文本。下面完整列出了我收到文本时遇到的错误。

05-13 16:08:04.015: E/SMSDispatcher(731): Exception dispatching message
05-13 16:08:04.015: E/SMSDispatcher(731): java.lang.ArrayIndexOutOfBoundsException
05-13 16:08:04.015: E/SMSDispatcher(731):   at com.android.internal.telephony.SMSDispatcher.processMessagePart(SMSDispatcher.java:970)
05-13 16:08:04.015: E/SMSDispatcher(731):   at com.android.internal.telephony.gsm.GsmSMSDispatcher.dispatchMessage(GsmSMSDispatcher.java:307)
05-13 16:08:04.015: E/SMSDispatcher(731):   at com.android.internal.telephony.SMSDispatcher.handleMessage(SMSDispatcher.java:523)
05-13 16:08:04.015: E/SMSDispatcher(731):   at android.os.Handler.dispatchMessage(Handler.java:99)
05-13 16:08:04.015: E/SMSDispatcher(731):   at android.os.Looper.loop(Looper.java:130)
05-13 16:08:04.015: E/SMSDispatcher(731):   at android.app.ActivityThread.main(ActivityThread.java:3859)
05-13 16:08:04.015: E/SMSDispatcher(731):   at java.lang.reflect.Method.invokeNative(Native Method)
05-13 16:08:04.015: E/SMSDispatcher(731):   at java.lang.reflect.Method.invoke(Method.java:507)
05-13 16:08:04.015: E/SMSDispatcher(731):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-13 16:08:04.015: E/SMSDispatcher(731):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-13 16:08:04.015: E/SMSDispatcher(731):   at dalvik.system.NativeStart.main(Native Method)

我怎样才能在我的手机中修复这个错误!?作为记录,上面列出的这些错误都不是来自我的代码,所有代码都是 Android OS 的东西。如果没有人知道怎么做,你知道我可以联系谁来获得帮助吗?我真的不想重置我的手机...

4

1 回答 1

1

只需尝试:

clearAbortBroadcast()

这将清除您使用中止设置的标志。

Take a look here for further Information: http://developer.android.com/reference/android/content/BroadcastReceiver.html

于 2012-05-14T07:47:21.147 回答