如何设置关键字以从短信启动广播接收器?我得到了我的广播接收器工作,问题是它开始接收任何短信的活动,我只是需要它开始接收1或2个关键词“酒店和/或房子”我该怎么做....谢谢。以下是我的代码
-manifest- “ “
- 实际接收器类 - 公共类SMSReceiver扩展了BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
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();
//and then start an activity
Intent i = new Intent(context,AppActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
答案 0 :(得分:1)
BroadcastReceiver
根据<intent-filter>
收听Intents。 data过滤器不提供您要求的过滤类型,因为它不会在SmsMessage.getMessage()
上过滤。除了收听短信之外,您还可以扫描关键字的每条消息,然后开始所需的活动。