簡體   English   中英

重新初始化twitter-fabric

[英]ReInitialize twitter-fabric

在MainActivity中,我使用CrashLytic

 @Override
    protected void onCreate(Bundle savedInstanceState) {

     if (!newUser){
           if (!Fabric.isInitialized()) 
                    Fabric.with(context, new Crashlytics());
     } else {

        goToRegistrationFrame();

     }        
   }

當用戶嘗試還原其帳戶並且我嘗試重新加載應用程序時,我通過此代碼切換了Fragment

Intent i = getActivity().getBaseContext().getPackageManager()
                        .getLaunchIntentForPackage(getActivity().getBaseContext().getPackageName());
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(i);

重新加載應用程序后,它從我使用Digits的注冊片段開始,並設置了新的Fabric參數

Fabric.with(getActivity(), new TwitterCore(authConfig),
                new Digits.Builder().withTheme(R.style.CustomDigitsTheme).build());

但是不幸的是,我看到Fabric.isInitialized()為TRUE,因此當我調用時:

Digits.authenticate(authConfigBuilder.build());

我有這個例外:

java.lang.NullPointerException: Attempt to invoke virtual method 'com.digits.sdk.android.AuthClient com.digits.sdk.android.Digits.getAuthClient()' on a null object reference

我的問題是:

  1. 如何重新初始化Fabric,我知道問題在於Fabric是在設置之前設置的,而不是在重新加載應用程序后清除的。

  2. 或者,當我切換到新的Fragment時,如何重新加載應用程序以獲得相同的結果,並且未初始化Fabric。

謝謝

我發現只有一種方法,可以通過此決定重新加載應用程序https://github.com/JakeWharton/ProcessPhoenix

暫無
暫無

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

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