現在、MIUI(Gingerbread 2.3.7)を搭載したHD2でアプリをテストしています。 BroadcastReceiverをインスタンス化して受信SMSを傍受し、それを登録します。数秒後、MIUIがクラッシュしてアニメーションが起動します。MIUI(リスナーを有効にしたSMS受信時のAndroidクラッシュ)
携帯電話はWM6.5とAndroidの間でデュアルブートしています。私はテストする他のAndroidの携帯電話がありません。私の実験から、クラッシュは、電話が私が待っているSMSを受け取ったときに起こります。 クラッシュに関するログメッセージは表示されません。ブロードキャストレシーバーの1行は実行されません。ここで
は私がリスナー
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の解析に依存しています。
MIUIのバグだと思っています –