Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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_Message_Android Cursor - Fatal编程技术网

阅读收到的短消息,并将消息正文传递给android应用程序

阅读收到的短消息,并将消息正文传递给android应用程序,android,sms,message,android-cursor,Android,Sms,Message,Android Cursor,我正在开发一个android应用程序,我想在其中读取短信并将数据传递给我的应用程序 我试了很多方法,但都没想出来。这就是我正在做的。我的代码有问题 String msg_body = ""; Uri my_uri = Uri.parse("content://sms/inbox"); Cursor readFstSms = v.getContext().getContentResolver().query(my_uri, null, null, null, null

我正在开发一个android应用程序,我想在其中读取短信并将数据传递给我的应用程序

我试了很多方法,但都没想出来。这就是我正在做的。我的代码有问题

 String msg_body = "";
       Uri my_uri = Uri.parse("content://sms/inbox");
       Cursor readFstSms = v.getContext().getContentResolver().query(my_uri, null, null, null, null);
       if(readFstSms.moveToFirst())
       {
           msg_body = readFstSms.getString(readFstSms.getColumnIndexOrThrow("body")).toString();
       }
       readFstSms.close();
       Uri gmmIntentUri = Uri.parse("google.navigation:q=" + msg_body);
       Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
       mapIntent.setPackage("com.google.android.apps.maps");
       startActivity(mapIntent);
我还添加了
在我的清单文件中,但仍然找不到解决方案

首先,您需要通过清单设置应用程序的读取权限

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

请看这里:。如果这不是问题所在,您需要提供更多详细信息,说明它到底是如何工作的。非常感谢!!但它仍然不能解决问题。有人能帮我解决这个问题吗。我想部署此应用程序帮助您做什么?你甚至还没说问题出在哪里。它读不到你所期望的吗?它没有读任何东西吗?它是否不启动
活动
?它会崩溃吗?你的手机会爆炸吗?什么?“无法解决”不是一个适当的问题陈述。它不存储我需要从消息中检索的消息正文。
if (intentExtras != null) {
            Object[] messages = (Object[]) intentExtras.get(SMS_BUNDLE);

            for (int i = 0; i < messages.length; ++i) {
                SmsMessage sms = SmsMessage.createFromPdu((byte[]) messages[i]);

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

 Toast.makeText(context, body, Toast.LENGTH_SHORT).show();

            }