【问题标题】:Android read sms outbox messages安卓阅读短信发件箱消息
【发布时间】:2017-09-13 14:53:49
【问题描述】:

我正在尝试学习如何在 Android 上阅读短信发件箱。有很多阅读收件箱的教程和指南,但这些都是使用侦听器。 看这里: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/os/SmsMessageReceiver.html

问题在于它使用public void onReceive(Context context, Intent intent) 并使用intent.getExtras() 之类的东西并使用context 作为光标的一部分。 我想阅读发件箱,所以我不会发送任何意图或使用任何侦听器。我要做的就是单击主要活动的Read 按钮,然后加载第二个活动,该活动显示发件箱中所有消息的正文(或带有 SENT 标志)。

有没有办法做到这一点,我可以按需阅读所有的 SMS 文本?

就像我说的那样,我正在阅读发件箱,所以除了单击按钮之外,不能依赖事件来触发它。

感谢您的帮助。

PS 我能够使用不同的方法(不是使用 SmsMessage)读取单个发件箱文本,其中我使用了 content://sms/sent 的 URI 并使用光标尝试通过它们,但我只能得到从那里发送的第一条消息,所以循环肯定有什么问题。

【问题讨论】:

    标签: android sms listener


    【解决方案1】:

    有很多阅读收件箱的教程和指南,但这些都是使用监听器。

    有问题的教程没有阅读短信收件箱。 Android SDK 不支持读取短信收件箱。

    我想阅读发件箱,因此我不会发送任何意图或使用任何侦听器。

    Android SDK 不支持读取您认为的 SMS 发件箱。

    我能够使用不同的方法(不是使用 SmsMessage)读取单个发件箱文本,其中我使用了指向 content://sms/sent 的 URI

    这不是 Android 的一部分,无论是操作系统还是 SDK。这是 Messenger 应用程序的一项未记录且不受支持的功能,它是 Android 开源项目的一部分。此应用程序可能并非在所有设备上。它可能不是用户选择的 SMS 客户端。 Google 将来可能随时对其进行修改。 You have been told by Google not to use it.

    【讨论】:

    • 是的,我知道有人说不建议使用 URI 内容,但是对于所有这些自定义 SMS 应用程序,例如 ChompSMS 和 Handcent,肯定至少意味着可以做到吗?还是只是运气好是哪个设备运行该应用程序?
    • @eoinzy:希望他们保持自己的发件箱概念,而不是假设内容提供商的存在。
    【解决方案2】:

    您可以阅读 OutBox 草稿消息,但是如果您想检查下载 2 个短信应用程序并检查第二个应用程序对话(现在是默认设置),您的应用程序必须是默认的短信应用程序,您将无法看到然后将第二个应用设为默认设置,您将能够在第二个应用中看到所有内容,但在第一个应用中看不到。

    【讨论】:

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