我正在编写一个通过短信与其他设备通信的应用程序。
我能够为收到的短信实现一个监听器。问题是它正在收听所有收到的消息。我只想收听从特定号码收到的短信。
这是我的onReceive方法。
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get("pdus");
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++) {
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
// show first message
Toast toast = Toast.makeText(context,
"Received SMS: " + smsMessage[0].getMessageBody(),
Toast.LENGTH_LONG);
toast.show();
}
Run Code Online (Sandbox Code Playgroud)
据我所知,无法仅根据意图来过滤数字。
您可以做的是在接收器中获取电话号码,如下所示:
SMSMesssage msg=SMSMessage.creatFromPdu(pdu)
String origination_no = msg.getDisplayOriginatingAddress()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4266 次 |
| 最近记录: |