以编程方式发送的短信未显示在“消息”应用中
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% 的时间内发生。
我正在使用以下代码在后台服务中发送短信:
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% 的时间内发生。