【问题标题】:Read the incoming sms and pass the message body to android application读取传入的短信并将消息正文传递给 android 应用程序
【发布时间】:2017-01-21 18:57:31
【问题描述】:

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

我尝试了很多方法,但无法弄清楚。这就是我正在做的事情。我的代码有问题吗。

 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"/> ,但仍然找不到解决方案

【问题讨论】:

  • 看看这里:stackoverflow.com/questions/32635704/…。如果这不是问题,您需要提供更多详细信息,说明它究竟是如何不工作的。
  • 非常感谢!!但它仍然没有解决问题。谁能帮我解决这个问题。我想部署这个应用程序
  • 帮你什么?你甚至没有说问题是什么。它没有读取您期望的内容吗?它什么都不读吗?它不启动Activity 吗?它会崩溃吗?你的手机会爆炸吗?什么? “想不通”不是一个充分的问题陈述。
  • 它不存储我需要从消息中检索的消息正文。

标签: android sms message android-cursor


【解决方案1】:

首先需要通过manifest设置app的读取权限

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

并且您需要一个 BroadcastReciever,它应该在清单中声明,带有意图过滤器android.provider.Telephony.SMS_RECEIVED '
一旦接收器开始工作,您就可以在该 BroadcastReceiver 的 onRecieve 回调方法中处理收到的短信。

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();

            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多