OTP无法在Android Oreo中自动获取

时间:2018-06-15 05:38:52

标签: android-8.0-oreo smsmanager sms-verification

我的应用程序在Nougat中正常工作但在Oreo中的sms验证没有自动获取。我也知道oreo已经通过SmsManager改变了sms验证。 这是我的代码(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:FATAL EXCEPTION:main     处理:app.ayon.oemm,PID:30283     java.lang.NoSuchMethodError:没有虚方法createAppSpecificSmsToken(Landroid / app / PendingIntent;)Ljava / lang / String;在课堂上Landroid / telephony / SmsManager;或其超级类(声明' android.telephony.SmsManager'出现在/system/framework/telephony-common.jar中)         在app.ayon.oemm.LoginActivity.onCreate(LoginActivity.java:67)

0 个答案:

没有答案