我正在尝试使用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);
有什么问题?
答案 0 :(得分:1)
由于Android 4.4的更改,您的应用可能无法发送短信。在https://developer.android.com/about/versions/android-4.4.html#SMS处概述,您可以看到更改。
SMS提供商电话内容提供商(&#34; SMS提供商&#34;) 允许应用在设备上读取和写入短信和彩信。它 包括收到,起草,发送的短信和彩信的表格, 等待,等等。
从Android 4.4开始,系统设置允许用户选择 一个&#34;默认的短信应用。&#34; 选中后,只能使用默认的短信应用 写入SMS提供程序,只有默认的SMS应用程序接收 当用户收到短信或短信时,SMS_DELIVER_ACTION广播 WAP_PUSH_DELIVER_ACTION在用户收到彩信时广播。该 默认SMS应用程序负责向SMS提供程序写入详细信息 当它收到或发送新消息时。
未选择作为默认短信应用的其他应用只能阅读 SMS提供商,但也可能在新SMS到达时得到通知 收听SMS_RECEIVED_ACTION广播,这是一个 可以传送到多个应用程序的不可中止广播。这个 广播适用于那些未被选为的应用 默认短信应用程序---需要读取特殊的传入消息,如 执行电话号码验证。
有关详细信息,请阅读博客文章“准备好SMS应用程序” 对于KitKat。