【问题标题】:Android - Sent SMS message does not show in native Messages appAndroid - 已发送的 SMS 消息不显示在本机消息应用程序中
【发布时间】:2014-07-22 04:15:59
【问题描述】:

我们有一个应用程序可以检测和接收传入的 SMS 消息,然后自动回复这些消息。所有这一切都很好......但是我们注意到了一个怪癖。在我的 Android 手机 (LG L70) 上,它可以很好地在本机“消息”应用程序中显示自动回复。但是,在我们用于测试的不同设备(S4 mini)上,自动响应不显示。但是自动回复消息实际上是从设备发送的,没有任何问题。

这是发送 SMS 消息的代码:

SmsManager.getDefault().sendTextMessage(message.getSenderNumber(),
            null,
            autoResponseText,
            PendingIntent.getBroadcast(this, 0, new Intent(ACTION_SMS_SENT), 0),
            null);

不用说,这让我们摸不着头脑。这些是我们购买的新“测试”手机,因此它们不会被其他似乎会干扰此类事情的已安装应用程序所困扰。我们尝试过更改各种设置,甚至卸载 Google Hangouts 等内容,但没有成功。出于某种原因,它在我的手机上可以正常显示本地“消息”应用程序中的所有消息,但在另一部手机上却不行。

这可能是特定于设备的问题吗?还是我们可以在代码中解决?如果需要更多信息或代码,我很乐意提供。提前致谢!

【问题讨论】:

  • 您是否使用内容解析器保存发送的短信??
  • SmsManager 不负责更新任何类型的 SMS 收件箱、发件箱或其他任何内容。大多数设备都会像您的 S4 mini 一样工作。
  • @CommonsWare 哦,有趣,我没有意识到这一点。所以我猜没有办法将其“强制”发送到“消息”发件箱/收件箱?如果没有,那没关系,但我想在关闭这个特定功能的盖子之前确定。感谢您对此的回复。
  • @Rhth 不完全确定您的意思 - 我可以使用 ContentResolver 从收件箱中查询邮件,但我不知道这对这个特定问题有多大帮助(除非有办法使用它来强制将消息返回给它?)
  • 当然 SMSManager 不负责更新您的消息,如果您不想这样做,您需要使用内容解析器。This 可能会帮助您

标签: android smsmanager


【解决方案1】:

原来this 帖子的答案是正确的,Rhth 的评论确实是正确的。

但是,需要注意的是,使用 ContentResolver 查询和查找消息的代码不能正常工作,我猜是因为 SmsManager 异步发送消息并且在完成之前不会插入到 ContentResolver 中。因此,在 SmsManager 发送消息后立即调用要搜索的代码时,它还无法找到它。

我想通过某种延迟,我可以进入它工作的状态,但奇怪的是,我不必担心它,因为通过 ContentResolver 手动插入消息的代码工作正常在前面提到的两个设备上! IE。它不会在正常工作的设备上复制消息。所以它在所有方面都取得了最好的效果。

【讨论】:

  • 感谢它为我节省了很多时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-03
  • 2020-10-04
  • 1970-01-01
  • 2021-07-06
  • 1970-01-01
  • 2011-06-13
  • 1970-01-01
相关资源
最近更新 更多