В настоящее время я тестирую приложение на HD2, оснащенном MIUI (Gingerbread 2.3.7). Я создаю экземпляр BroadcastReceiver, чтобы перехватывать входящие SMS и регистрировать его. Через пару секунд MIUI вылетает при загрузке анимации.
Телефон с двойной загрузкой между WM6.5 и Android. У меня нет другого телефона Android для тестирования. Из моих экспериментов сбой происходит, когда телефон получает SMS, которого я жду. Никакое сообщение журнала не предупреждает меня о сбое, ни одна строка 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;
}
Manifest
<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-разбор.