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

Programmatically sent SMS not showing in Messages app

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

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

短信发送成功。但它不会显示在默认的消息应用程序中。接收者正在完美地收到短信。它只是没有出现在发件人消息传递应用程序中。

我正在使用 android 版本 9 的 Huawei nova 3i。

首先,SMS 客户端即使不是数千,也有数百个。 None 必须显示其他应用发送的短信。他们可以那样做,但他们没有那样做。

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

IOW,虽然很多时候 SmsManager 已发送的消息会出现在 SMS 客户端中,但不要假设这会在 100% 的时间内发生。