11

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

这意味着,我可以在没有能力写入 SMS Provider 的情况下发送 SMS 吗?

我在 Android 4.4 Kitkat 上对此感到困惑。

我想知道我是否可以使用非默认短信应用程序发送短信。

4

2 回答 2

11

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

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

这就是新版本的重点——让用户清楚地知道哪个应用程序可以使用特殊的短信操作,并且只有一个默认应用程序可以做到这一点。

看看这段文字(取自android开发者博客):

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

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

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

于 2013-11-03T09:50:58.077 回答
4

你可以试试这段代码:

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);

在清单中:

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

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

于 2016-02-26T16:31:14.107 回答