use*_*732 8 sms android broadcastreceiver
嗨我有以下广播接收器,所以当我收到短信时我的活动被告知.我唯一无法弄清楚的是如何获得新短信的ID.如何才能做到这一点?我知道如何获取电话号码和消息,但我不需要我需要它的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);
Run Code Online (Sandbox Code Playgroud)
您指的是用于进行重复数据删除的消息引用 ID,对吗?该字段位于 SMSMessage 中,但 api 不公开。你必须进行一些反思才能将其挖掘出来。查看 com.android.internal.telephony.SmsMessageBase