程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OTP 的问题。用户输入 OTP 时应用程序崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决OTP 的问题。用户输入 OTP 时应用程序崩溃?

开发过程中遇到OTP 的问题。用户输入 OTP 时应用程序崩溃的问题如何解决?下面主要结合日常开发的经验,给出你关于OTP 的问题。用户输入 OTP 时应用程序崩溃的解决方法建议,希望对你解决OTP 的问题。用户输入 OTP 时应用程序崩溃有所启发或帮助;

我正在尝试通过电话号码 otp 将我的应用程序附加到 firebase。当我在我的主活动中输入测试编号然后应用程序移动到 OTPActivity 但是当我输入测试 otp 我的应用程序在这里崩溃时我附加了我的 otpactivity 的清单和 java 代码

这是清单的代码。

<?xml version="1.0" enCoding="utf-8"?>
<manifest xmlns:androID="http://scheR_78_11845@as.androID.com/apk/res/androID"
package="com.example.heybuddy">

<application
    androID:allowBACkup="true"
    androID:icon="@mipmap/ic_launcher"
    androID:label="@String/app_name"
    androID:rounDicon="@mipmap/ic_launcher_round"
    androID:usesCleartextTraffic="true"
    androID:supportsRtl="true"
    androID:theme="@style/theme.heyBuddy">
    <activity androID:name=".otpActivity"></activity>
    <activity androID:name=".SignupActivity" />
    <activity androID:name=".SigninActivity" />
    <activity androID:name=".SplashScreen">
        <intent-filter>
            <action androID:name="androID.intent.action.MAIN" />

            <category androID:name="androID.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

这里是otpActivity的java代码。

package com.example.heybuddy;
public class OtpActivity extends AppCompatActivity {
TextVIEw textVIEw;
FirebaseAuth auth;
String verification;
OtpVIEw otpVIEw;
@OverrIDe
protected voID onCreate(Bundle savedInstanceStatE) {
    super.onCreate(savedInstanceStatE);
    setContentVIEw(R.layout.activity_otp);
    textVIEw = findVIEwByID(R.ID.numberLbl);
    otpVIEw = findVIEwByID(R.ID.otp_vIEw);
    Intent intent = geTintent();
    String number = intent.getStringExtra("phonenumber");
    textVIEw.setText("Please verify " + number);

    auth = FirebaseAuth.geTinstance();

    PhoneAuthOptions options = PhoneAuthOptions.newBuilder(auth)
            .setPhonenumber(number)
            .setTimeout(60L,TimeUnit.SECONDS)
            .setActivity(OtpActivity.this)
            .setCallBACks(new PhoneauthprovIDer.onVerificationStateChangedCallBACks() {
                @OverrIDe
                public voID onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) {

                }

                @OverrIDe
                public voID onVerificationFailed(@NonNull FirebaseException E) {

                }

                @OverrIDe
                public voID onCodeSent(@NonNull String verifyID,@NonNull PhoneauthprovIDer.ForceResendingToken forceResendingToken) {
                    super.onCodeSent(verifyID,forceResendingToken);
                    verification = verifyID;
                }
            }).build();
    PhoneauthprovIDer.verifyPhonenumber(options);
    otpVIEw.setotpCompletionListener(new OnOtpCompletionListener() {
        @OverrIDe
        public voID onOtpCompleted(String otp) {
            PhoneAuthCredential credential = PhoneauthprovIDer.getCredential(verification,otp);

            auth.signInWithCredential(credential).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                @OverrIDe
                public voID onComplete(@NonNull Task<AuthResult> task) {
                    if (task.issuccessful()){
                        Toast.makeText(OtpActivity.this,"VerifIEd successfully.",Toast.LENGTH_SHORT).show();
                    }
                    else {
                        Toast.makeText(OtpActivity.this,"Failed.",Toast.LENGTH_SHORT).show();
                    }
                }
            });
        }
    });

}

}

这是应用程序的日志

com.Google.androID.gms.common.internal.Preconditions.checkArgument(com.Google.androID.gms:play-services-basement@@17.1.0:35)
    at com.Google.firebase.auth.PhoneAuthCredential.<init>(com.Google.firebase:firebase-auth@@20.0.4:6)
    at com.Google.firebase.auth.PhoneAuthCredential.zzb(com.Google.firebase:firebase-auth@@20.0.4:1)
    at com.Google.firebase.auth.PhoneauthprovIDer.getCredential(com.Google.firebase:firebase-auth@@20.0.4:1)
    at com.example.heybuddy.otpActivity$2.onOtpCompleted(OtpActivity.java:67)
    at com.mukesh.otpVIEw.ontextChanged(OtpVIEw.java:227)
    at androID.Widget.TextVIEw.handleTextChanged(TextVIEw.java:10626)
    at androID.Widget.TextVIEw$ChangeWatcher.ontextChanged(TextVIEw.java:13375)
    at androID.text.SpAnnableStringBuilder.sendTextChanged(SpAnnableStringBuilder.java:1267)
    at androID.text.SpAnnableStringBuilder.replace(SpAnnableStringBuilder.java:576)
    at androID.text.SpAnnableStringBuilder.replace(SpAnnableStringBuilder.java:507)
    at androID.text.SpAnnableStringBuilder.replace(SpAnnableStringBuilder.java:37)
    at androID.text.method.numberKeylistener.onKeyDown(numberKeyListener.java:131)
    at androID.Widget.TextVIEw.doKeyDown(TextVIEw.java:8430)
    at androID.Widget.TextVIEw.onKeyDown(TextVIEw.java:8187)
    at androID.vIEw.KeyEvent.dispatch(KeyEvent.java:2801)
    at androID.vIEw.VIEw.dispatchKeyEvent(VIEw.java:13352)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at androID.vIEw.VIEwGroup.dispatchKeyEvent(VIEwGroup.java:1922)
    at com.androID.internal.policy.DecorVIEw.superdispatchKeyEvent(DecorVIEw.java:453)
    at com.androID.internal.policy.PhoneWindow.superdispatchKeyEvent(PhoneWindow.java:1839)
    at androID.app.Activity.dispatchKeyEvent(Activity.java:3953)
    at androIDx.core.app.ComponentActivity.superdispatchKeyEvent(ComponentActivity.java:122)
    at androIDx.core.vIEw.KeyEventdispatcher.dispatchKeyEvent(KeyEventdispatcher.java:84)
    at androIDx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:140)
    at androIDx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:569)
    at androIDx.appcompat.vIEw.WindowCallBACkWrapper.dispatchKeyEvent(WindowCallBACkWrapper.java:59)
    at androIDx.appcompat.app.AppCompatDelegateImpl$AppCompatwindowCallBACk.dispatchKeyEvent(AppCompatDelegateImpl.java:3054)
    at com.androID.internal.policy.DecorVIEw.dispatchKeyEvent(DecorVIEw.java:367)
    at androID.vIEw.VIEwRootImpl$VIEwPostImeinputStage.processKeyEvent(VIEwRootImpl.java:5413)
    at androID.vIEw.VIEwRootImpl$VIEwPostImeinputStage.onProcess(VIEwRootImpl.java:5281)
    at androID.vIEw.VIEwRootImpl$inputStage.deliver(VIEwRootImpl.java:4788)
    at androID.vIEw.VIEwRootImpl$inputStage.onDeliverToNext(VIEwRootImpl.java:4841)
    at androID.vIEw.VIEwRootImpl$inputStage.forWARD(VIEwRootImpl.java:4807)
    at androID.vIEw.VIEwRootImpl$AsyncinputStage.forWARD(VIEwRootImpl.java:4947)
    at androID.vIEw.VIEwRootImpl$inputStage.apply(VIEwRootImpl.java:4815)
    at androID.vIEw.VIEwRootImpl$AsyncinputStage.apply(VIEwRootImpl.java:5004)
    at androID.vIEw.VIEwRootImpl$inputStage.deliver(VIEwRootImpl.java:4788)
    at androID.vIEw.VIEwRootImpl$inputStage.onDeliverToNext(VIEwRootImpl.java:4841)
    at androID.vIEw.VIEwRootImpl$inputStage.forWARD(VIEwRootImpl.java:4807)
    at androID.vIEw.VIEwRootImpl$inputStage.apply(VIEwRootImpl.java:4815)
    at androID.vIEw.VIEwRootImpl$inputStage.deliver(VIEwRootImpl.java:4788)
2021-04-14 02:38:38.418 14174-14174/com.example.heybuddy E/AndroIDRuntime:     at androID.vIEw.VIEwRootImpl$inputStage.onDeliverToNext(VIEwRootImpl.java:4841)
    at androID.vIEw.VIEwRootImpl$inputStage.forWARD(VIEwRootImpl.java:4807)
    at androID.vIEw.VIEwRootImpl$AsyncinputStage.forWARD(VIEwRootImpl.java:4980)
    at androID.vIEw.VIEwRootImpl$ImeinputStage.onFinishedinputEvent(VIEwRootImpl.java:5141)
    at androID.vIEw.inputmethod.inputMethodManager$PendingEvent.run(inputMethodManager.java:3064)
    at androID.vIEw.inputmethod.inputMethodManager.invokeFinishedinputEventCallBACk(inputMethodManager.java:2607)
    at androID.vIEw.inputmethod.inputMethodManager.finishedinputEvent(inputMethodManager.java:2598)
    at androID.vIEw.inputmethod.inputMethodManager$ImeinputEventSender.oninputEventFinished(inputMethodManager.java:3041)
    at androID.vIEw.inputEventSender.dispatchinputEventFinished(inputEventSender.java:143)
    at androID.os.messageQueue.nativePollOnce(Native Method)
    at androID.os.messageQueue.next(messageQueue.java:336)
    at androID.os.Looper.loop(Looper.java:174)
    at androID.app.ActivityThread.main(ActivityThread.java:7356)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.androID.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:930)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的OTP 的问题。用户输入 OTP 时应用程序崩溃全部内容,希望文章能够帮你解决OTP 的问题。用户输入 OTP 时应用程序崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。