以编程方式发送的短信未在“消息”应用中显示

时间:2019-11-10 11:54:53

标签: android sms

我正在使用以下代码在后台服务中发送短信:

SmsManager smsManager;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) {
    smsManager = SmsManager.getSmsManagerForSubscriptionId(0);
} else {
    smsManager = SmsManager.getDefault();
}

String msg = "message body";
PendingIntent sentPI;
String SENT = "SMS_SENT";
sentPI = PendingIntent.getBroadcast(context, 0, new Intent(SENT), 0);

smsManager.sendTextMessage(01XXXXXXXXX, null, msg, sentPI, null);

此操作成功发送了SMS。但它不会显示在默认的消息应用程序中。接收方可以完美接收SMS。它只是没有显示在发件人消息传递应用程序中。

我正在将nova 9i与android 9一起使用。

1 个答案:

答案 0 :(得分:0)

首先,有数百个(甚至数千个)SMS客户端。无需显示其他应用发送的短信。他们可以做到这一点,但他们没有做到这一点。

第二,在某些设备上,设备制造商可能选择不将SmsManager的消息添加到许多(大多数?)SMS客户端使用的系统提供的ContentProvider中。

IOW,虽然SmsManager发送的消息将多次出现在SMS客户端中,但不要假定这种情况会100%发生。