Авто чтение OTP из SMS - PullRequest
       25

Авто чтение OTP из SMS

1 голос
/ 06 мая 2019

Я пытаюсь прочитать смс, используя этот метод.Но мое приложение не читает сообщение.

Код, который я уже пробовал.

Разрешение:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />

Активность (основной код):

class OtpActivity : AppCompatActivity(), View.OnClickListener {
    private var smsVerifyCatcher: SmsVerifyCatcher? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_otp)
        smsVerifyCatcher = SmsVerifyCatcher(this, OnSmsCatchListener { message ->
            val code = parseCode(message)//Parse verification code
            Log.e("Code", code)
            //then you can send verification code to server
        })
        smsVerifyCatcher!!.setPhoneNumberFilter("0902249") // I passed 10 digit number here
        smsVerifyCatcher!!.setFilter("Ashish") // For extra i added Filter for name
    }
    private fun parseCode(message: String): String {
        val p = Pattern.compile("\\b\\d{4}\\b")
        val m = p.matcher(message)
        var code = ""
        while (m.find()) {
            code = m.group(0)
        }
        return code
    }
    override fun onStart() {
        super.onStart()
        smsVerifyCatcher!!.onStart()
    }

    override fun onStop() {
        super.onStop()
        smsVerifyCatcher!!.onStop()
    }
}

1 Ответ

5 голосов
/ 06 мая 2019

Это не очень хорошая идея из-за этого Напоминание об изменениях политики SMS / журнала вызовов .

Рекомендуемый способ - использование API SMS Retriever из Google Play Services.См. Автоматическая проверка SMS с помощью SMS Retriever API .

Обратите внимание, что вашему серверу необходимо отправлять сообщения в соответствии с несколькими правилами (сообщение начинается с "<#>", включая OTPплюс дополнительная информация и заканчивается хешем, идентифицирующим ваше приложение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...