Română
Dacă BT Pay nu completează automat codul OTP pe GrapheneOS, rămâne blocat la „Validare număr de telefon” sau câmpul pentru codul primit prin SMS nu poate fi apăsat, problema poate fi accesul Google Play services la mesajele de verificare. Soluția de mai jos activează READ_OTP_SMS prin ADB și repară autofill-ul codului SMS pentru autentificarea, înregistrarea și validarea numărului de telefon în aplicația BT Pay.
- Un cablu USB (care permite transferul de date)
- Calculator
- adb
Acest tutorial explică foarte bine cum să instalezi adb și cum să dai setup la usb debugging https://www.xda-developers.com/install-adb-windows-macos-linux/
Pe telefon, intră pe:
Setări → Aplicații → Vezi toate aplicațiile → Google Play services → Permisiuni → SMS → Permite
Aceasta este permisiunea SMS vizibilă. READ_OTP_SMS este un acces Android separat și ascuns, deci nu apare în ecranul Toate permisiunile.
windows (powershell)
$userId = (adb shell am get-current-user).Trim()
$gmsLine = (adb shell pm list packages --user $userId -U | Select-String '^package:com.google.android.gms uid:').Line
$gmsUid = ($gmsLine -replace '^.*uid:', '').Trim()
$gmsUid
adb shell cmd appops set $gmsUid READ_OTP_SMS allow
adb shell cmd appops get $gmsUid READ_OTP_SMSLinux/macOS (bash)
user_id=$(adb shell am get-current-user | tr -d '\r')
gms_uid=$(adb shell pm list packages --user "$user_id" -U | sed -n 's/^package:com.google.android.gms uid://p' | tr -d '\r')
echo "$gms_uid"
adb shell cmd appops set "$gms_uid" READ_OTP_SMS allow
adb shell cmd appops get "$gms_uid" READ_OTP_SMSUltima comandă trebuie să afișeze READ_OTP_SMS: allow, posibil după textul Uid mode:.
Intră pe bt pay si terminal logarea. Ar trebui să-și dea autofill codu.
Dupa ce ai terminat poti rula comenzile astea sa stergi permisiunea respectivă
windows (powershell)
adb shell cmd appops set $gmsUid READ_OTP_SMS defaultLinux/macOS (bash)
adb shell cmd appops set "$gms_uid" READ_OTP_SMS defaultEnglish
If BT Pay does not automatically fill in the OTP code on GrapheneOS, remains stuck on the Phone number verification screen, or does not let you tap the SMS code field, Google Play services may not have access to verification messages. The solution below enables READ_OTP_SMS through ADB and restores SMS code autofill for signing in, registering, and verifying your phone number in the BT Pay app.
- A USB cable (that supports data transfer)
- A computer
- ADB
This guide explains how to install ADB and enable USB debugging: https://www.xda-developers.com/install-adb-windows-macos-linux/
On your phone, go to:
Settings → Apps → See all apps → Google Play services → Permissions → SMS → Allow
This is the visible SMS permission. READ_OTP_SMS is a separate, hidden Android app-op, so it does not appear on the All permissions screen.
Windows (PowerShell)
$userId = (adb shell am get-current-user).Trim()
$gmsLine = (adb shell pm list packages --user $userId -U | Select-String '^package:com.google.android.gms uid:').Line
$gmsUid = ($gmsLine -replace '^.*uid:', '').Trim()
$gmsUid
adb shell cmd appops set $gmsUid READ_OTP_SMS allow
adb shell cmd appops get $gmsUid READ_OTP_SMSLinux/macOS (Bash)
user_id=$(adb shell am get-current-user | tr -d '\r')
gms_uid=$(adb shell pm list packages --user "$user_id" -U | sed -n 's/^package:com.google.android.gms uid://p' | tr -d '\r')
echo "$gms_uid"
adb shell cmd appops set "$gms_uid" READ_OTP_SMS allow
adb shell cmd appops get "$gms_uid" READ_OTP_SMSThe final command should display READ_OTP_SMS: allow, possibly after the text Uid mode:.
Return to BT Pay and complete the sign-in process. The app should now autofill the SMS code.
After you have finished, reset the app-op to its default value.
Windows (PowerShell)
adb shell cmd appops set $gmsUid READ_OTP_SMS defaultLinux/macOS (Bash)
adb shell cmd appops set "$gms_uid" READ_OTP_SMS default