【问题标题】:Explicitly saving new messages to inbox将新邮件显式保存到收件箱
【发布时间】:2014-09-08 14:32:51
【问题描述】:

关于content://sms/inbox的问题:

1) 是否建议将传入消息显式存储到收件箱?
2) 如果 android 设备有一个原生消息应用程序并且我的消息应用程序安装到它,然后我明确将收到的消息存储到收件箱,消息会重复吗?
3) 无论有没有消息应用,android 是否会自动将新消息存储到收件箱?

谢谢。

【问题讨论】:

  • 任何特定的 Android 版本?
  • 嗨,这些是我的目标 sdk 版本:android:minSdkVersion="14" android:targetSdkVersion="19"

标签: java android sms android-contentprovider inbox


【解决方案1】:

关于 SMS,详细信息因 Android 版本而异。在 KitKat 之前,SMS API 没有记录。使用 KitKat,默认 SMS 应用程序的概念 被引入,并且 SMS API 公开。

是否建议将收到的消息显式存储到收件箱?

  • 奇巧之前:是的。如果您的应用是主要或唯一安装的 SMS,并且没有其他应用获得 SMS_RECEIVED 广播。

  • KitKat 和 on:如果您的应用程序是默认 SMS 应用程序,则它负责将传入消息写入 Provider。如果它不是默认值,则无关紧要,因为您的应用将没有对 Provider 的写入权限。

如果 android 设备有一个本机消息应用程序并且我的消息应用程序安装到它上面,然后我将收到的消息显式存储到收件箱,消息会重复吗?

  • 奇巧之前:是的。除非您的应用拦截并中止 SMS_RECEIVED 广播,否则本机应用将写入消息。

  • KitKat 和 on:在任何给定时间,只有一个应用程序可以是默认应用程序,并且只有它具有对 Provider 的写入权限。当一个应用未被选为默认应用时,它应该相应地调整其行为。

无论是否有消息应用程序,Android 是否都会自动将新消息存储到收件箱?

  • Pre-KitKat:否。本机消息传递应用程序配置为处理写入。系统不会自动执行。

  • KitKat 和 on:否。如前所述,默认应用负责将传入消息写入 Provider。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 2014-06-18
    • 2010-12-27
    • 2011-08-12
    相关资源
    最近更新 更多