在Android 4.4上使用非默认短信应用发送短信

时间:2013-10-24 08:04:46

标签: android sms android-4.4-kitkat

我可以在 Android 4.4 Kitkat 上使用无默认短信应用发送短信吗?

这意味着,我是否可以发送短信而无法写入SMS提供商?

我对Android 4.4 Kitkat感到困惑。

我想我可以使用非默认短信应用发送短信。

2 个答案:

答案 0 :(得分:10)

即使您的应用不是默认的短信应用,也可以发送短信。

但是,您将无法使用SMS提供程序。

这是新版本的重点 - 向用户明确说明允许哪个应用程序使用特殊的SMS操作,并且只有一个默认应用程序。

查看此文本(摘自android developer blog):

  

考虑到一些不想表现得像的应用程序   默认短信应用但仍希望发送消息,任何有应用程序的应用程序   SEND_SMS权限仍然可以使用发送短信   SmsManager。当且仅当未选择应用作为默认SMS时   Android 4.4上的应用程序,系统自动写入发送的短信   消息到SMS提供商(默认的SMS应用程序始终是   负责将其发送的消息写入SMS提供商。)

所以,简而言之,如果您只需要发送和接收短信,您仍然可以这样做。

但是,某些操作要求您将应用程序作为默认的SMS应用程序。

答案 1 :(得分:3)

您可以尝试以下代码:

PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT), 0);

PendingIntent deliveredPI = PendingIntent.getBroadcast(context, 0, new Intent(DELIVERED), 0);

android.telephony.SmsManager.getDefault().sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);

在Manifest中:

<uses-permission android:name="android.permission.SEND_SMS" />

如果发送号码不是4,5,6位,则不需要用户确认。