2011-07-06 51 views
2

我有我的三星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。我嘗試了所有解決方案,但沒有任何效果。

+0

您是否試圖將您的BR註冊從java代碼移至xml聲明? AFIK galaxy有它自己的用戶界面擴展,可能會產生類似的問題。 – piotrpo

+0

我假設你沒有在日誌中看到'New broadcast receiver'這一行? –

+0

這是正確的大衛。我花了4個小時,我不知道什麼是錯的。這很有趣,因爲一個星期前,一切正常。 – Chris

回答

0

一個問題已經與銀河S2的「android.net.conn.CONNECTIVITY_CHANGE」行動同樣的問題。廣播接收器在代碼中註冊時無法接收重新連接意圖。 在清單中註冊廣播接收器是我的解決方案。

相關問題