Android 短消息的字符串消息

Android 短消息的字符串消息,android,string,sms,message,Android,String,Sms,Message,我正在学习如何在Android上开发应用程序。 我有一个按钮,一旦点击,它应该阅读我的短信,并检查每一条短信的正文,如果一条短信包含“字”,然后做一些事情 应该用这个来实现,对吗 String body = sms.getMessageBody().toString(); while (body.contains("WORD")) DO SOMETHING 提前谢谢 编辑 有没有办法不用按按钮就可以完成这项工作,例如

我正在学习如何在Android上开发应用程序。 我有一个按钮,一旦点击,它应该阅读我的短信,并检查每一条短信的正文,如果一条短信包含“字”,然后做一些事情

应该用这个来实现,对吗

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



                while (body.contains("WORD"))
                   DO SOMETHING
提前谢谢

编辑

有没有办法不用按按钮就可以完成这项工作,例如每小时按一次程序?

您可以使用它来安排在将来某个时候运行某项任务


请参阅示例

,如果您想使用需要创建广播接收器的新消息检查它

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());
 }
}
公共类MySMSReceiver扩展了BroadcastReceiver{
@凌驾
接收方上的公共void(上下文、意图){
Object[]pdus=(Object[])intent.getExtras().get(“pdus”);
字符串发送者=”;
StringBuilder text=新的StringBuilder();
//从第一个PDU获取发件人
SmsMessage shortMessage=SmsMessage.createFromPdu((字节[])PDU[0]);
sender=shortMessage.getOriginatingAddress();

for(int i=0;i而不是当您需要使用if语句时…
if(body.contains(“WORD”){
做点什么

}

您想查看新邮件还是收件箱中的所有邮件..?您可以对每个按钮使用计时器并执行按钮。performclick这样用户就不必单击Hello,这就是我拥有的,我应该输入什么?谢谢!
last=(button)findViewById(R.id.last);last.setOnClickListener(new View.OnClickListener()){@Override public void onClick(视图arg0){String body=sms.getMessageBody().toString();while(body.contains(“WORD”))DO SOMETHING}};