【问题标题】:String message of an SMSSMS的字符串消息
【发布时间】:2013-08-12 11:28:10
【问题描述】:

我正在学习如何在 Android 上开发应用程序。 我有一个 onClick 按钮,它应该读取我的 SMS 并检查每条 SMS 的正文,如果一条 SMS 包含“WORD”然后做点什么。

应该用这个来实现吧?

 String body = sms.getMessageBody().toString();



                while (body.contains("WORD"))
                   DO SOMETHING

提前致谢。

编辑

有没有什么方法可以在不点击按钮的情况下做到这一点,例如每小时一次?

【问题讨论】:

  • 您要查看新邮件还是查看收件箱中的所有邮件..??
  • 您可以为每个按钮使用计时器并执行 button.performclick 这样用户就不必单击

标签: android string sms message


【解决方案1】:

如果你想用新消息检查它,你需要创建 BroadcastReceiver

AndroidManifest.xml 声明:

<receiver android:name=".MySMSReceiver "> 
<intent-filter> 
        <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
</intent-filter> 

广播接收器:

public class MySMSReceiver extends BroadcastReceiver {

@Override
public void onReceiver(Context context, Intent intent) {

   Object[] pdus=(Object[])intent.getExtras().get("pdus");
   String sender="";

   StringBuilder text=new StringBuilder();

   // get sender from first PDU
   SmsMessage shortMessage=SmsMessage.createFromPdu((byte[]) pdus[0]);

   sender=shortMessage.getOriginatingAddress();

   for (int i=0;i<pdus.length;i++) {
       shortMessage=SmsMessage.createFromPdu((byte[]) pdus[i]);
       text.append(shortMessage.getDisplayMessageBody());
   }

   while (text.contains("WORD")) {
       // DO SOMETHING 
   }

   Log.d("SMSReceiver","SMS message sender: " + shortMessage.getOriginatingAddress());
   Log.d("SMSReceiver","SMS message text: " + shortMessage.getDisplayMessageBody());
 }
}

【讨论】:

  • 你好,这是我的,我应该放入什么?谢谢!
  • last = (Button) findViewById(R.id.last); last.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { String body = sms.getMessageBody().toString(); while (body.contains("WORD")) DO SOMETHING } });
【解决方案2】:

而不是 while 你需要使用 if 语句...
if (body.contains("WORD"){ DO SOMETHING }

【讨论】:

    【解决方案3】:

    您可以使用AlarmManager 安排一些任务在未来某个时间点运行

    例如见https://stackoverflow.com/a/8801990/1051147

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 1970-01-01
      • 2020-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      相关资源
      最近更新 更多