токен android.os.BinderProxy@e4f4f2b недействителен;ваша деятельность работает? - PullRequest
0 голосов
/ 23 октября 2018

Я получаю ниже сбоя исключительно во время запуска приложения и только в эмуляторе и отладке

Эмулятор и запуск: ОК

Устройство и запуск: ОК

Устройство и отладка: OK

Эмулятор и отладка: CRASH!

Похоже, что Android пытается сделать тост во время запуска, и, поскольку у меня не так много тостов и я добавил точку останова на всех них, я могу исключить, что это один из моих.

Есть ли способ узнать, какое сообщение пытается отобразить Android и на какое действие оно ссылается?Logcat не показывает ничего ненормального, прежде чем происходит сбой.

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@e4f4f2b is not valid; is your activity running?
        at android.view.ViewRootImpl.setView(ViewRootImpl.java:679)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:342)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
        at android.widget.Toast$TN.handleShow(Toast.java:459)
        at android.widget.Toast$TN$2.handleMessage(Toast.java:342)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

1 Ответ

0 голосов
/ 29 октября 2018

Скорее всего, это происходит потому, что вы пытаетесь показать диалоговое окно после выполнения фонового потока, когда действие уничтожается.

Вот что сработало для меня:

if(!((Activity) context).isFinishing())
{
    //show dialog
}

Это отлично работает для меня, используя эту практику в течение многих лет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...