Программно отправленные SMS не отображаются в приложении Сообщения - PullRequest
0 голосов
/ 10 ноября 2019

Я отправляю 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. Но это не отображается в приложении сообщений по умолчанию. Получатель получает СМС отлично. Он просто не отображается в приложении обмена сообщениями отправителей.

Я использую Huawei nova 3i с версией Android 9.

1 Ответ

0 голосов
/ 10 ноября 2019

Во-первых, существуют сотни, если не тысячи, клиентов SMS. Нет необходимости показывать SMS-сообщения, отправленные другими приложениями. Они могут сделать это, но у них нет для этого.

Во-вторых, возможно, что на некоторых устройствах производитель устройства решил не иметь SmsManager добавить свои сообщения в предоставляемую системой ContentProvider, которую используют многие (большинство?) SMS-клиентов.

IOW, хотя во многих случаях в SMS-клиенте будет появляться сообщение SmsManager, непредположим, что это произойдет в 100% случаев.

...