【问题标题】:How to open SMS intent to read (not send) message?如何打开短信意图阅读(不发送)消息?
【发布时间】:2016-09-24 15:33:04
【问题描述】:

我正在使用android.provider.Telephony.SMS_RECEIVED 收听收到的短信。我成功地从发件人那里捕获了短信正文和短信号码。我想使用 Android Intent 打开带有正文和号码的 SMS 应用程序(当您收到 SMS 并打开 SMS 应用程序以查看详细信息时类似)。我怎样才能在 Android 5.0 中做到这一点?我正在使用波纹管代码,但它是用于发送消息。这意味着它打开了具有数字和正文+发送按钮的窗口。我不想要那个窗口。我只想读GUI

        Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setType("vnd.android-dir/mms-sms");
        smsIntent.putExtra("address", SMSNumber);
        smsIntent.putExtra("sms_body",SMSBody);
        smsIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(smsIntent);

【问题讨论】:

    标签: android android-intent android-5.0-lollipop


    【解决方案1】:

    如何在 Android 5.0 中做到这一点?

    ACTION_VIEW does not take extras。它确实需要Uri。如果您对Sms 提供程序具有读取权限,欢迎您尝试在收件箱中查找该消息,然后尝试在该消息中使用ACTION_VIEWUri。但是,并不要求任何 Android 设备的应用都具有支持此功能的 Activity。

    【讨论】:

    • 对不起。我不明白你的解决方案。我只是想在Android手机中使用默认短信应用打开传入短信的详细信息(就像你收到短信,你用手打开它,但我在这种情况下尝试使用编程来实现它)
    • @user8430:你想要做的事情是不可能的。可靠地显示文本消息内容的唯一方法是,如果你自己显示它,编写你自己的 UI。
    • 我只是用简单的方式来做。在这种情况下,我假设手机具有默认的 SMS 应用程序。所以,我只是通过 Intent 调用默认的 SMS 应用程序。我在 5.1.1 中尝试过,它可以工作,但在 5.0 版本中不起作用。它显示发送 GUI,而不是读取 GUI
    • @user8430:大约有 20 亿台 Android 设备。这些分布在数千种不同的设备模型中。这些模型将有数百个不同的“默认 SMS 应用程序”,因为设备制造商通常会发布自己的。此外,欢迎用户安装自己的 SMS 客户端应用程序。没有 SMS 客户端应用程序必须支持您正在尝试做的事情。因此,虽然至少有一台 Android 5.1.1 设备碰巧有一个支持此功能的 SMS 客户端是件好事,但不要假设它可以在任何其他设备上运行。
    猜你喜欢
    • 1970-01-01
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    相关资源
    最近更新 更多