我有我的三星Galaxy S2的最新更新,現在我的應用程序停止工作(應用程序不接收短信)。我有SMSReceiver從BroadcastReceiver與SMS_RECEIVED行動延伸。在Galaxy S II上沒有爲SMS_RECEIVED觸發BroadcastReceiver
它看起來像這樣:
private class SMSReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context cntxt, Intent intent) {
Log.i(TAG, "New broadcast receiver");
SharedPreferences settings = getSharedPreferences(TAG, 0);
if (settings.getString("authCode", "").equals("")) {
Log.i(TAG, "Get sms");
if (intent.getAction().toString().equals("android.provider.Telephony.SMS_RECEIVED")) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
final SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
}
if (messages.length > -1) {
Log.i(TAG, "Read sms");
}
}
}
}
}
我註冊的BroadcastReceiver這樣的:
mSmsReceiver = new SMSReceiver();
IntentFilter filter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
filter.setPriority(100000);
registerReceiver(mSmsReceiver, filter);
一切工作的的HTC Desire和Desire Z的和Android模擬器。在Galaxy S2上,當SMS發送時,我的SMSReceiver不會收到任何Intent。我嘗試了所有解決方案,但沒有任何效果。
您是否試圖將您的BR註冊從java代碼移至xml聲明? AFIK galaxy有它自己的用戶界面擴展,可能會產生類似的問題。 – piotrpo
我假設你沒有在日誌中看到'New broadcast receiver'這一行? –
這是正確的大衛。我花了4個小時,我不知道什麼是錯的。這很有趣,因爲一個星期前,一切正常。 – Chris