【问题标题】:API support for the Default SMS app默认 SMS 应用程序的 API 支持
【发布时间】:2015-03-04 13:11:24
【问题描述】:

我对 Android 默认短信应用有一些疑问。

我必须创建一个需要在 Android SMS/MMS 数据库中读取/写入 SMS 和 MMS 的应用。 为此,我需要使用“content://sms/***”内容提供程序。

此内容提供程序不是 SDK 的一部分,因此我强烈建议不要在公共应用程序中使用它(Previous questionAndroid Developerd Blog)。

Google 在 Android 4.4 中引入了“Default SMS app”的概念,它允许第三方应用程序管理短信和彩信。这是否意味着内容提供者“content://sms/***”现在是官方 SDK 的一部分?

这样说对吗?

  • SMS 内容提供程序在 Android 4.4 之前以相同的行为/结构存在,但在 Android SDK 中不是官方的,因此可能有 Android

  • SMS Content Provider 是 Android >= 4.4 SDK 的一部分,官方完全支持所有设备(Android >= 4.4)。

  • Android 4.4 中的 SMS Content Provider 隐藏 API 基本上没有任何变化,但主要是一种形式化。从隐藏的 API 到正式的 API。

【问题讨论】:

  • "这是否意味着内容提供者 "content://sms/***" 现在是官方 SDK 的一部分?" -- 表示Android SDK中有SmsMms内容提供者合约。

标签: android sms android-contentprovider


【解决方案1】:

SMS Content Provider 在 Android 4.4 之前以相同的行为/结构存在,但在 Android SDK 中不是官方的,因此可能有 Android

这在很大程度上是正确的,因为 Provider 和底层数据库没有太大变化。但是,正如您所说,现在有默认 SMS 应用程序的概念,并且只有默认值具有对 Provider 的标准写入权限。此外,SMS_RECEIVED 广播不能再被中止,因此无法隐藏该广播以防止任何正在侦听它的应用程序。

SMS Content Provider 是 Android >= 4.4 SDK 的一部分,官方完全支持所有设备(Android >= 4.4)。

不完全是。 API 现在正式成为 SDK 的一部分,但这并不意味着每个供应商都必须使用它来实现他们的 SMS 客户端,尽管大多数供应商都这样做。

Android 4.4 中的 SMS Content Provider 隐藏 API 基本上没有任何变化,但主要是一种形式化。从隐藏的 API 到正式的 API。

基本上,是的,除了上述差异。另请注意,默认的 SMS 应用程序负责很多事情,要实现一个可以完全充当一个应用程序的应用程序并非易事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-30
    • 2015-08-08
    • 2016-06-16
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多