【发布时间】:2025-12-17 12:25:01
【问题描述】:
我可以在 Android 4.4 Kitkat 上不使用默认短信应用发送短信吗?
意思是,我可以在没有能力写入 SMS Provider 的情况下发送 SMS 吗?
我在 Android 4.4 Kitkat 上对此感到困惑。
我想知道我是否可以使用非默认短信应用发送短信。
【问题讨论】:
标签: android sms android-4.4-kitkat
我可以在 Android 4.4 Kitkat 上不使用默认短信应用发送短信吗?
意思是,我可以在没有能力写入 SMS Provider 的情况下发送 SMS 吗?
我在 Android 4.4 Kitkat 上对此感到困惑。
我想知道我是否可以使用非默认短信应用发送短信。
【问题讨论】:
标签: android sms android-4.4-kitkat
即使您的应用不是默认的短信应用,您也可以发送短信。
但是,您将无法使用 SMS 提供商。
这就是新版本的重点——让用户清楚地知道哪个应用可以使用特殊的短信操作,并且只有一个默认应用。
看看这段文字(取自android developer blog):
考虑到一些不想表现得像 默认 SMS 应用程序但仍要发送消息,任何具有 SEND_SMS 权限仍然可以使用发送 SMS 消息 短信管理器。当且仅当应用程序未被选为默认 SMS 安卓4.4应用,系统自动写入发送的短信 向 SMS 提供者发送消息(默认 SMS 应用程序始终为 负责将其发送的消息写入 SMS Provider)。
所以,简而言之,如果您只需要发送和接收短信,您仍然可以做到。
但是,某些操作要求您将应用作为默认 SMS 应用。
【讨论】:
你可以试试这个代码:
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 位,则不需要用户确认。
【讨论】: