Android广播接收器从文本消息关键字开始
如何设置关键字以从文本消息启动广播接收器?我让我的广播接收器工作,问题是它在接收任何文本消息时开始活动,我只需要它在接收1或2个关键字“Hotel and/or House”时开始,我该怎么做。。。。非常感谢。下面是我的代码 -显示- " " -实际接受者类别- 公共类SMSReceiver扩展了BroadcastReceiver{Android广播接收器从文本消息关键字开始,android,text,sms,broadcastreceiver,Android,Text,Sms,Broadcastreceiver,如何设置关键字以从文本消息启动广播接收器?我让我的广播接收器工作,问题是它在接收任何文本消息时开始活动,我只需要它在接收1或2个关键字“Hotel and/or House”时开始,我该怎么做。。。。非常感谢。下面是我的代码 -显示- " " -实际接受者类别- 公共类SMSReceiver扩展了BroadcastReceiver{ public void onReceive(Context context, Intent intent) { Bundle bundle = inten
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);
public void onReceive(上下文、意图){
Bundle=intent.getExtras();
对象消息[]=(对象[])bundle.get(“PDU”);
SmsMessage SmsMessage[]=新SmsMessage[messages.length];
对于(int n=0;n广播接收器根据
侦听意图。筛选器不提供您要求的筛选类型,因为它不在SmsMessage.getMessage()上进行筛选
。除了收听短信外,您还可以扫描每条短信中的关键字,然后开始所需的活动。以下是创建短信对象时我的mainfest中的内容。请将短信的第二个副本放入StringBuilder中。然后检查StringBuilder对象是否输入您正在搜索的单词。如果它确实包含关键字,则启动活动,如果没有,则不执行任何操作。