2011-07-06 7 views
2

私はSamsung Galaxy S2の最新のアップデートを取得しましたが、私のアプリケーションは動作しなくなりました(アプリケーションはSMSを受信しません)。私はSMSReceiverをSMS_RECEIVEDアクションでBroadcastReceiverから拡張しました。BroadcastReceiverがギャラクシーS IIのSMS_RECEIVEDのために起動していません

それは次のようになります。

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の欲望や欲望ZとAndroidエミュレータ上で動作します。私のSMSReceiverは、SMSが来たとき、どんなインテントも受け取りません。私はすべての解決策を試しましたが、何の効果もありませんでした。

+0

BR登録をjavaコードからxml宣言に移動しようとしましたか? AFIK galaxyには独自のUI拡張機能があり、そのような問題を引き起こす可能性があります。 – piotrpo

+0

ログに「New broadcast receiver」という行が表示されないと思いますか? –

+0

それは正しいDavidです。私はこれに4時間を費やし、何が間違っているのか分からない。 1週間前にすべてがうまくいったから面白いです。 – Chris

答えて

0

の問題は、Galaxy S2に「android.net.conn.CONNECTIVITY_CHANGE」アクションで同じ問題を持っていました。ブロードキャスト受信者がコードに登録されたときに再接続のインテントを受信できませんでした。 マニフェストにブロードキャストレシーバーを登録することが私の解決策でした。

関連する問題