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();
}