2013-06-13 15 views
5

Merhaba Aşağıdaki yayın alıcım var, bu yüzden bir sms mesajı aldığımda etkinliğim anlatılıyor. Anlayamadığım tek şey, yeni mesajların kimliğini nasıl alacağımızdır. Bu nasıl yapılabilir? Ben telefon numarasını ve mesajı almak için biliyorum ama bunu daha ne kadar yardım büyük Sen dedup doğru yapmak için kullanılan mesaj ref id kastediyoruzYayın alıcıdan SMS Kimliği alın

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); 

cevap

1

mutluluk duyacağız kimliğidir gerektiğini gerek yok? Bu alan SMSMessage içinde ancak api kamuya açık değildir. Kazmak için biraz düşünmek zorunda kalacaksınız. Com.android.internal.telephony.SmsMessageBase

+0

@ user577732'ye bakıp sms kimliğini elde edebilecek misiniz? – FIXI

+0

@ user577732 sms kimliğini çıkarabildiniz mi? –