簡體   English   中英

驗證后,Fabric數字在回調中崩潰

[英]Fabric digit getting crash in callback after verification

我添加了Fabric Digit工具包來驗證手機號碼。 手機號碼已成功驗證,但當我點擊驗證按鈕應用程序崩潰時,當我重新打開應用程序時,數字會話成功創建,我在許多應用程序中使用了Digit但沒有得到問題。可能是特定版本或者其他?

崩潰日志:

 #0. Crashed: IntentService[ATTRIBUTABLE_INVITE_DOWNLOAD_WORKER]: 0 0 0x0000000000000000 at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:772) at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:800) at com.digits.sdk.android.DigitsApiClientManager.getUserAuthClient(DigitsApiClientManager.java:53) at com.digits.sdk.android.AttributableInviteDownloadService.onHandleIntent(AttributableInviteDownloadService.java:55) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.os.HandlerThread.run(HandlerThread.java:61) -- Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:772) at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:800) at com.digits.sdk.android.DigitsApiClientManager.getUserAuthClient(DigitsApiClientManager.java:53) at com.digits.sdk.android.AttributableInviteDownloadService.onHandleIntent(AttributableInviteDownloadService.java:55) at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:66) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.os.HandlerThread.run(HandlerThread.java:61) 

Crashalytics 在這里添加更詳細的日志

應用程序中實現的代碼:

的onCreate

 authCallback = new AuthCallback() { @Override public void success(DigitsSession session, String phoneNumber) { Log.d("msg", "session : " + session.toString() + " " + phoneNumber); MOBILE_NO = phoneNumber; storeUserData.setString(Constants.USER_MOBILE, phoneNumber); Digits.clearActiveSession(); startActivity(new Intent(activity, RegisterActivity.class) .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); } @Override public void failure(DigitsException error) { error.printStackTrace(); } }; 

用於驗證

 binding.authButton.setCallback(authCallback); binding.authButton.setAuthTheme(R.style.CustomDigitsTheme); AuthConfig.Builder authConfigBuilder = new AuthConfig.Builder() .withAuthCallBack(authCallback) .withPhoneNumber("+91"); Digits.authenticate(authConfigBuilder.build()); 

您可以嘗試下面的代碼,

DigitsAuthButton digitsButton;
AuthCallback authcallback;
 digitsButton = (DigitsAuthButton) view.findViewById(R.id.auth_button);
        digitsButton.setAuthTheme(R.style.CustomDigitsTheme);
        authcallback = new AuthCallback() {
            @Override
            public void success(DigitsSession session, String phoneNumber) {
                edtMobNumber.setText(phoneNumber);
            }

            @Override
            public void failure(DigitsException exception) {

                exception.printStackTrace();

            }
        };
        digitsButton.setCallback(authcallback);
//launching digits activity on click of edit text
edtMobNumber.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Digits.clearActiveSession();
        digitsButton.performClick();
    }
});

請讓我知道這對你有沒有用。

我有同樣的問題,發現我正在清除回調方法中的活動會話(注銷)。

刪除此行:

Digits.clearActiveSession();

或者在我的情況下,我刪除了這一行:

Digits.logout();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM