我目前正在测试配备MIUI(Gingerbread 2.3.7)的HD2上的应用程序。我实例化一个BroadcastReceiver来拦截传入的短信并注册它。几秒钟后,MIUI崩溃以启动动画。
手机在WM6.5和Android之间进行双重启动。我没有其他Android手机可供测试。从我的实验中,当手机收到我正在等待的短信时发生了崩溃。 没有日志消息警告我崩溃,没有执行BroadcastReceiver的任何一行。
以下是我设置监听器的方法
try {
smsReceiver = new SmsReceiver();
IntentFilter iFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
iFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
registerReceiver(smsReceiver, iFilter);
} catch (RuntimeException ex) {
Log.e("MyActivity", "Error");
throw ex;
}
清单
<receiver
android:name="SmsReceiver"
android:enabled="false"
android:permission="android.permission.RECEIVE_SMS" >
<intent-filter android:priority="300" >
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
代码没有命中catch块。我的应用已在清单中获得RECEIVE_SMS
权限。
我该如何解决?我的应用程序完全依赖于SMS解析。