Невозможно скопировать OTP-код в буфер обмена в приемнике вещания на Redmi Note 9S (Android 12)Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Гость
 Невозможно скопировать OTP-код в буфер обмена в приемнике вещания на Redmi Note 9S (Android 12)

Сообщение Гость »

Проблема:
Я пытаюсь скопировать код OTP из входящего SMS в буфер обмена широковещательного приемника. Это работает нормально на Galaxy A52s 5G, но не на Redmi Note 9S.
Коды: Приемник OTP-вещания:
импортировать... класс OtpSmsReceiver : BroadcastReceiver() { @SuppressLint("UnsafeProtectedBroadcastReceiver") переопределить fun onReceive(context: Context, Intent: Intent) { пытаться { val Bundle = Intent.extras если (пакет != ноль) { val otpSms = getNewOtpSms (пакет) если (otpSms != ноль) { val (otp, банк) = OtpSmsManager.getOtpFromSms(otpSms, true) ?: возвращаться if (otp.isNotEmpty() && bank.isNotEmpty()) { copyOtpToClipboard (контекст, otp) Log.i("SmsReceiver", "Новый OTP-код от $bank: $otp") showOtpNotification(контекст, otp, банк) } } } // пакет имеет значение null } catch (e: Exception) { Log.e("SmsReceiver", "Исключение smsReceiver: $e") } } частное развлечение copyOtpToClipboard (контекст: Context, otp: String) { вал буфер обмена = context.getSystemService(Context.CLIPBOARD_SERVICE) как ClipboardManager clipboardManager.setPrimaryClip( ClipData(ClipData.newPlainText("otp_code", otp)) ) } личное развлечение getNewOtpSms(bundle: Bundle?): OtpSms? { если (пакет != ноль) { if (bundle.containsKey("pdus")) { val pdus = Bundle.get("pdus") если (pdus != ноль) { val pdusObj = pdus as Array вар сообщение = "" вар дата = "" for (я в pdusObj.indices) { val currentMessage = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { SmsMessage.createFromPdu(pdusObj as ByteArray?, "3gpp") } еще { SmsMessage.createFromPdu(pdusObj как ByteArray?) } сообщение += currentMessage.displayMessageBody дата = currentMessage.timestampMillis.toString() } // конец цикла вернуть OtpSms(сообщение, дата) } еще { вернуть ноль } } еще { вернуть ноль } } еще { вернуть ноль } } } AndroidManifest.xml: Разрешения: Тег получателя широковещательной рассылки: Шаги, которые я пробовал: [*]Я проверил разрешения и убедился, что получатель широковещательной рассылки имеет разрешения READ_SMS и WRITE_CLIPBOARD. [*]Я попробовал перезагрузить устройство. [*]Я обновил приложение до последней версии. [*]Я проверил журналы устройства и обнаружил, что ошибок, связанных с приемником вещания или буфером обмена, нет. Вопрос: Почему функция copyOtpToClipboard() не работает на Redmi Note 9S?

Дополнительная информация:
[*]Устройство работает под управлением Android 12. [*]Я использую последнюю версию Android SDK и Android Studio.
Я пытался использовать Службы для решения этой проблемы, но проблема все равно оставалась..

Ожидаемое поведение:

При получении SMS получатель трансляции должен скопировать OTP-код в буфер обмена.

Фактическое поведение:

Получатель широковещательной рассылки получает SMS и извлекает OTP-код, но функция copyOtpToClipboard() не работает.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Фрида 16.5.9 работает на Android 8.1 (Redmi Note 5), но не работает на Android 13 (Google Pixel 6)
    Anonymous » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Почему эмулятор Android медленно работает на Redmi Note 14 с Android Studio?
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Ошибка «Невозможно открыть системный буфер обмена», попытка установить системный буфер обмена не работает/включается и в
    Anonymous » » в форуме JAVA
    0 Ответы
    78 Просмотры
    Последнее сообщение Anonymous
  • Пытаюсь скомпилировать ядро ​​для Redmi Note 11 pro 4g (viva) [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Показать несколько снимков экрана на Redmi Note 10
    Anonymous » » в форуме Android
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»