Я использую smsMessenger в своем приложении для Android, где пользователь вводит номер, и после проверки он получает otp. Весь процесс происходит идеально, и отображается тост об отправленном otp. Теперь проблема в том. Когда устройства с Android ниже 12 используют это приложение, они могут получать SMS, а некоторые устройства с Android 14 (например, Motorola и Realme) могут получать OTP. но когда дело доходит до устройств MI, таких как Android 12 или более поздней версии, и устройств Samsung с Android 14, они не могут получить otp. Когда я открываю приложение сообщений, оно отображается красным цветом и сообщает, что SMS не доставлено.
Все разрешения предоставлены в файле манифеста.
private void sendOtp() {
попробуйте {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_GRANTED) {
// Сгенерируйте случайный OTP
otp =generateOtp();
// Send the OTP via SMS
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(MobileNo, null, "Your OTP is " + otp, null, null);
Toast.makeText(this, "OTP sent!", Toast.LENGTH_SHORT).show();
} else {
// Permission is not granted, request permission
requestsmspermission();
}
} catch (Exception e) {
Log.d("TAGH", "print exception-" + e.getMessage());
}
}
// Method to generate a random OTP
private String generateOtp() {
Random random = new Random();
int otp = 100000 + random.nextInt(900000); // Generates a number between 100000 and 999999
return String.valueOf(otp);
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... -messenger
СМС не отправляются через смс мессенджер ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение