我可以在Android 4.4 Kitkat上不使用默认短信应用发送短信吗?
这意味着,我可以在没有能力写入 SMS Provider 的情况下发送 SMS 吗?
我在 Android 4.4 Kitkat 上对此感到困惑。
我想知道我是否可以使用非默认短信应用程序发送短信。
我可以在Android 4.4 Kitkat上不使用默认短信应用发送短信吗?
这意味着,我可以在没有能力写入 SMS Provider 的情况下发送 SMS 吗?
我在 Android 4.4 Kitkat 上对此感到困惑。
我想知道我是否可以使用非默认短信应用程序发送短信。
即使您的应用不是默认的短信应用,您也可以发送短信。
但是,您将无法使用 SMS 提供程序。
这就是新版本的重点——让用户清楚地知道哪个应用程序可以使用特殊的短信操作,并且只有一个默认应用程序可以做到这一点。
看看这段文字(取自android开发者博客):
考虑到一些应用程序不想充当默认短信应用程序但仍想发送消息,任何具有 SEND_SMS 权限的应用程序仍然可以使用 SmsManager 发送短信。当且仅当应用程序未选择为 Android 4.4 上的默认 SMS 应用程序时,系统会自动将发送的 SMS 消息写入 SMS Provider(默认 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 位数字,则不需要用户确认。