致命的な例外:android.view.WindowManager $ BadTokenExceptionウィンドウを追加できません - トークンが有効ではありません。あなたの活動が実行されていますか?

Santosh Patange:

私はこの質問には、いくつかの時間を議論している知っているが、私はすべての答えの作業をやったことがなかった私を信じて。私の主な活動では、私はいくつかの操作をユーザに知らせるために、いくつかのダイアログを使用していたが、私は小米科技デバイス上のほとんど(特に96%)、この特定のエラーを取得します。`

Fatal Exception: android.view.WindowManager$BadTokenException
Unable to add window -- token android.os.BinderProxy@f839de9 is not valid; is your activity running?
android.view.ViewRootImpl.setView (ViewRootImpl.java:697)
android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:347)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:94)
android.widget.Toast$TN.handleShow (Toast.java:463)
android.widget.Toast$TN$2.handleMessage (Toast.java:346)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:163)
android.app.ActivityThread.main (ActivityThread.java:6377)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:904)

com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) I covered each Dialog Show method like

if (!MainActivityNew.this.isFinishing())
dialogDownload.show();

`しかし、それでもまだ、私は主にリリースモードでこのエラーを取得しています小米科技デバイスでのAndroidのバージョン7、私が過去1月からこの問題に引っかかって私を助けてください。

ここでfirebase Crashlyticsからいくつかのデータであり、

デバイス100%小米科技オペレーティングシステム100%アンドロイド7デバイス状態4%背景

Sujeetクマールメータ:

この問題は、ダイアログのが、トーストではありません。主にこのトーストの問題は、コンテキストがnullになるアンドロイド7.1バージョンです。この紳士が作成したソリューションがありソリューション私がテストしていると、これは非常にうまく機能しています。あなたはこれを試すことができます。

 if (android.os.Build.VERSION.SDK_INT == 25) {
                ToastCompat.makeText(context, message, Toast.LENGTH_SHORT)
                        .setBadTokenListener(toast -> {
                            Log.e("failed toast", message);
                        }).show();
            } else {
                Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
            }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=167966&siteId=1