Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中阅读最新收到的短信_Android_Sms - Fatal编程技术网

在Android中阅读最新收到的短信

在Android中阅读最新收到的短信,android,sms,Android,Sms,我看到了这个问题的副本。在所有问题中,他们指定阅读收件箱中的所有短信 我想要的只是阅读最新收到的短信 Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i=0; i < msgs.length; i++) { // Convert Object array msgs[i] = SmsMess

我看到了这个问题的副本。在所有问题中,他们指定阅读收件箱中的所有短信

我想要的只是阅读最新收到的短信

Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i < msgs.length; i++) {
            // Convert Object array
            msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            // Sender's phone number
            str += "SMS from " + msgs[i].getOriginatingAddress() + " : ";
            // Fetch the text message
            str += msgs[i].getMessageBody().toString();                
            str += "\n";
        }
二,


问题1:在上述两个代码中,哪一个会给我最新消息,获取PDU[0](1)或PDU[msg.length-1])(2)

问题2:在我的代码中,我将阅读最新的短信,搜索特定的关键词并执行相应的操作

当我同时收到两条短信时(比如说SMS1和SMS2)。我的关键字出现在SMS1

首先,SMS1接收,在一秒或两秒之后,SMS2正在接收,因此我怀疑我的代码是否会快速读取SMS1并移动到读取SMS2,或者在收到SMS2时跳过SMS1


请原谅,如果我提供了任何不清楚的地方,请发表评论,希望你能解决我的问题。提前感谢。:)

你的问题很奇怪

您首先给出的代码实际上只能获取一条消息

Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i < msgs.length; i++) {
            // Convert Object array
            msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            // Sender's phone number
            str += "SMS from " + msgs[i].getOriginatingAddress() + " : ";
            // Fetch the text message
            str += msgs[i].getMessageBody().toString();                
            str += "\n";
        }
Object[]pdus=(Object[])bundle.get(“pdus”);
msgs=新SMS消息[PDU.length];
对于(int i=0;i
问题1-您必须使用上述代码。它将只获取一封邮件,而不是收件箱中的所有邮件

问题2-它不会跳过

msgs[0] = SmsMessage.createFromPdu((byte[]) pdus[msgs.length-1]);
Object[] pdus = (Object[]) bundle.get("pdus");
msgs = new SmsMessage[pdus.length];
for (int i=0; i < msgs.length; i++) {
            // Convert Object array
            msgs[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
            // Sender's phone number
            str += "SMS from " + msgs[i].getOriginatingAddress() + " : ";
            // Fetch the text message
            str += msgs[i].getMessageBody().toString();                
            str += "\n";
        }