OTP не загружается автоматически в Android Oreo
Мое приложение работает нормально в Nougat, но проверка смс в Oreo не происходит автоматически. и я также знаю, что у oreo есть проверка смс изменений с помощью SmsManager. вот мой код (LoginActivity):
SmsManager mgr=SmsManager.getDefault();
String token=mgr.createAppSpecificSmsToken(buildPendingIntent());
Log.i("MainActivity", "sms token " + token);
и в ожидании намерения:
private PendingIntent buildPendingIntent() {
return(PendingIntent.getActivity(this, 1337,
new Intent(this, OTPActivity.class), 0));
}
и моя OTPActivity:
for (SmsMessage pdu :
Telephony.Sms.Intents.getMessagesFromIntent(getIntent())) {
// tv.append(pdu.getDisplayMessageBody());
TastyToast.makeText(getApplicationContext(), pdu.getDisplayMessageBody(), TastyToast.LENGTH_LONG, TastyToast.WARNING);
}
и вот мой журнал, где я получил роковое исключение: 06-15 11:00:08.911 30283-30283/app.ayon.oemm E/AndroidRuntime: ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: app.ayon.oemm, PID: 30283 java.lang.NoSuchMethodError: Нет виртуального метода createAppSpecificSmsToken(Landroid/app/PendingIntent;)Ljava/lang/String; в классе Landroid / телефония /SmsManager; или его суперклассы (объявление 'android.telephony.SmsManager' появляется в /system/framework/telephony-common.jar) в app.ayon.oemm.LoginActivity.onCreate(LoginActivity.java:67)