【问题标题】:Android 4.4 SMS APIs - Unable to change default SMS app in tabletsAndroid 4.4 SMS API - 无法更改平板电脑中的默认 SMS 应用
【发布时间】:2013-11-24 12:44:54
【问题描述】:

我查看了使您的应用成为默认短信客户端 (found here) 的示例代码,该示例项目在运行 4.4 的 Nexus 4 上运行良好。有一个按钮,点击后会执行以下操作:

Intent intent = new Intent(Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
context.startActivity(intent);

这会使“更改短信应用程序”对话框出现,允许用户切换他们的默认短信应用程序。

当我在我的 Nexus 7(2012,Wifi)上运行完全相同的项目时,按钮什么也不做,尽管我可以在 Logcat 中读取意图启动。同样的事情发生在我检查过的 Nexus 7 2013 wifi 型号上。

我尝试从市场上下载一些短信应用程序,所有这些应用程序都发生了完全相同的事情。它们在我的 N4 中工作得很好,在我的 N7 中没有运气。

有人遇到同样的问题吗?他们是否切断了将消息写入整体无法发送文本的设备的功能?

编辑:刚刚注意到Telephony 文档写道:

注意:这些 API 并非在所有 Android 设备上都可用。如果您的应用依赖于电话功能(例如管理 SMS 消息),请在清单中包含一个元素,声明“android.hardware.telephony”硬件功能。或者,您可以在运行时使用 hasSystemFeature(PackageManager.FEATURE_TELEPHONY) 或 getPhoneType() 检查电话可用性。

所以,我猜如果设备没有上述功能,它就无法“管理短信”(作为默认短信应用)。

【问题讨论】:

  • 由于那些 Nexus 7 不能发送短信,如果它们是仅 WiFi 的,我不太确定你期望发生什么。
  • 我想知道,尽管您实际上不能“发送”消息,但您是否仍然可以使用 Content Provider 并在设备中写入消息。
  • 我不确定提供者是否存在;我没有在仅支持 WiFi 的设备上寻找它。您可以运行一个测试,看看您是否可以使用ContentResolverLoader 读取它。如果失败并出现某种 provider-not-found 错误,则设备没有该提供程序。但是,如果它成功了,那么我不太确定发生了什么,好像它已记录并存在,您应该能够请求能够写入它。
  • 我可以从两个设备上正确读取,同时使用新的短信 API 和隐藏短信 API。我不确定是否所有 4.4 设备都有提供程序,或者发生这种情况是因为这两个设备都从 4.3 更新到 4.4。设备中保存了一些消息,但我无法删除它们或向其中添加更多消息。无赖:P
  • 如果提供者存在,应该有办法让应用程序对其进行操作。因此,我假设您遇到了某种错误。这个错误是“Intent 应该工作”还是“我们应该在我们不打算让它工作的设备上禁用提供程序”,我不能说。

标签: android sms tablet telephony android-4.4-kitkat


【解决方案1】:

如果升级到 Android 4.4,短信似乎不再适用于 Nexus 7 3G。

过去,有些人可以通过下载和安装第三方短信应用程序在平板电脑上使用短信。即使没有带有 ROM 的股票消息应用程序(和 AFAIK,这不是官方功能),这通常是有效的。

但是,Nexus 7 3G 上的 Android 4.4 KitKat 取消了此功能。

在 Android 4.4 中,必须将消息应用程序设置为“默认短信应用程序”,以便允许将新消息保存到手机的消息数据库中。换句话说,消息应用程序必须是默认的短信应用程序才能完全运行。

在 Nexus 5(和 Android 模拟器)中,有一个设置设置 » ... » 无线 » 默认短信应用,可让您选择默认短信应用。

在 Nexus 7 3G 中,此设置不存在。

Nexus 7 似乎不支持“默认短信应用”。换句话说,您不能将应用设置为默认短信应用。这意味着无法使用短信应用程序。

【讨论】:

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