特定号码的Android短信监听器

Tia*_*oso 5 sms android

我正在编写一个通过短信与其他设备通信的应用程序。

我能够为收到的短信实现一个监听器。问题是它正在收听所有收到的消息。我只想收听从特定号码收到的短信。

这是我的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)

Dhe*_*kar 4

据我所知,无法仅根据意图来过滤数字。

您可以做的是在接收器中获取电话号码,如下所示:

SMSMesssage msg=SMSMessage.creatFromPdu(pdu)
String origination_no = msg.getDisplayOriginatingAddress()
Run Code Online (Sandbox Code Playgroud)