我正在使用以下代码在后台服务中发送短信:
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一起使用。
答案 0 :(得分:0)
首先,有数百个(甚至数千个)SMS客户端。无需显示其他应用发送的短信。他们可以做到这一点,但他们没有做到这一点。
第二,在某些设备上,设备制造商可能选择不将SmsManager
的消息添加到许多(大多数?)SMS客户端使用的系统提供的ContentProvider
中。
IOW,虽然SmsManager
发送的消息将多次出现在SMS客户端中,但不要假定这种情况会100%发生。