2013-06-13 10 views
5

こんにちは私は以下のブロードキャストレシーバーを持っているので、私はSMSメッセージを受信したときに私の活動を知らせています。私が把握できなかった唯一のことは、新しいSMSのIDを取得する方法です。これはどうすればできますか?私は電話番号とメッセージを取得する方法を知っているが、私はそれがすべてのヘルプは大幅にあなたがDEDUP権利を行うために使用されたメッセージの参照番号を参照しているブロードキャストレシーバーからSMS IDを取得

BroadcastReceiver sentSmsBroadcast = new BroadcastReceiver() { 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       if (intent.getAction() == 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) { 
          //Get sms id 
         } 
        } 
       } 
      } 
     }; 
     IntentFilter filterSend = new IntentFilter(); 
     filterSend.addAction("android.provider.Telephony.SMS_RECEIVED"); 
     registerReceiver(sentSmsBroadcast, filterSend); 

答えて

1

をいただければ幸いですIDが必要であることを必要はありませんか?そのフィールドはSMSMessageにありますが、APIは公開されていません。あなたはそれを掘り起こすためにいくつかの反射を行う必要があります。 com.android.internal.telephony.SmsMessageBaseをご覧ください。

+0

@ user577732あなたはsms idを抽出できましたか? – FIXI

+0

@ user577732 SMS IDを抽出できましたか? –

関連する問題