【问题标题】:Send SMS without user interface in android 4.4.2在 android 4.4.2 中发送没有用户界面的短信
【发布时间】:2014-05-17 01:06:00
【问题描述】:

我正在尝试使用 SMSManager 发送没有用户界面的短信。在 android 4.1.2 及更低版本上没问题,但它在 Android 4.4.2 中不起作用。

这是我的代码:

SmsManager sms = SmsManager.getDefault();
ArrayList<String> msgStringArray = sms.divideMessage(message);
sms.sendMultipartTextMessage(phoneNumber, null, msgStringArray, null,null);

怎么了?

【问题讨论】:

  • 不工作意味着?????
  • 是的。这在 android 4.1.2 及更低版本上没问题,但不适用于 android 4.4.2
  • 你在哪里测试???
  • 正在使用 android 4.4.2 在 Nexus 5 上进行测试
  • 看到这个link

标签: java android smsmanager


【解决方案1】:

由于 Android 4.4 的变化,您的应用可能无法发送短信。概述于https://developer.android.com/about/versions/android-4.4.html#SMS,您可以看到更改。

短信提供商电话内容提供商(“短信提供商”) 允许应用程序在设备上读取和写入 SMS 和 MMS 消息。它 包括接收、起草、发送的 SMS 和 MMS 消息表, 待定等等。

从 Android 4.4 开始,系统设置允许用户选择 “默认短信应用”。 选择后,只有默认的短信应用可以使用 写入 SMS Provider 并且只有默认的 SMS 应用程序接收 SMS_DELIVER_ACTION 在用户收到短信或收到短信时广播 WAP_PUSH_DELIVER_ACTION 在用户收到彩信时广播。这 默认 SMS 应用程序负责将详细信息写入 SMS Provider 当它接收或发送新消息时。

其他未选择为默认短信应用的应用只能阅读 SMS 提供者,但也可能会在新的 SMS 到达时收到通知 监听 SMS_RECEIVED_ACTION 广播,这是一个 可以传送到多个应用程序的不可中止的广播。这个 广播适用于那些——虽然没有被选为 默认短信应用程序---需要阅读特殊的传入消息,例如 执行电话号码验证。

有关更多信息,请阅读博客文章,准备好您的 SMS 应用程序 为奇巧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-04
    • 2014-08-07
    • 2011-05-19
    • 2019-11-12
    • 2023-03-08
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多