【发布时间】:2013-12-10 15:06:58
【问题描述】:
我的 Android 应用使用 SMS 以静默方式发送通知。在 Kitkat 之前,这些通知没有记录到 SMS 提供程序中,因此没有出现在用户的对话列表中。这是应用程序的期望行为。
随着 Kitkat SMS 的更改(请参阅下面引用的 SmsManger 文档),这些消息仍在发送,但现在会自动写入 SMS 提供商并因此出现在用户的对话列表中。这对我的应用来说是不可取的。
从 Android 4.4(API 级别 19)开始,当且仅当某个应用未被选为默认 SMS 应用时,系统才会自动将使用此方法发送的消息写入 SMS Provider(默认 SMS 应用始终负责将其发送的消息写入 SMS Provider)。有关如何充当默认 SMS 应用程序的信息,请参阅电话。
听起来我可以通过将我的应用设置为默认应用然后不写入提供程序来阻止自动写入提供程序。但是,在我的应用环境中,这将是一种糟糕的用户体验,因此我只会将其视为绝对的最后手段。
那么我的问题是 - 有没有办法静默在 Kitkat 中发送短信而我的应用必须是默认应用?
我已阅读对此问题Send SMS message using non default SMS app on Android 4.4 的回复,但更关心的是确保消息正在写入提供程序。我不想那样。
【问题讨论】:
标签: android sms android-4.4-kitkat