在android 4.4.2中发送没有用户界面的短信

时间:2014-05-16 16:41:12

标签: java android smsmanager

我正在尝试使用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);

有什么问题?

1 个答案:

答案 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。