Android bug-记录-2014年12月19日10:42:58

来源:互联网 发布:红蜻蜓听书软件 编辑:程序博客网 时间:2024/06/11 10:14

//bug

sintn@AY1312201628259505ceZ log]$ cat shop_android_txws1_天下无双_总店_2014-12-18_19-05-53.log 

TIME=1418354436000
FINGERPRINT=Xiaomi/mocha/mocha:4.4.4/KTU84P/4.12.12:user/release-keys
HARDWARE=mocha
UNKNOWN=unknown
RADIO=unknown
BOARD=unknown
versionCode=7
PRODUCT=mocha
versionName=2.1.6
DISPLAY=KTU84P
USER=builder
HOST=zc-miui-ota-bd32
DEVICE=mocha
TAGS=release-keys
MODEL=MI PAD
BOOTLOADER=unknown
CPU_ABI=armeabi-v7a
CPU_ABI2=armeabi
IS_DEBUGGABLE=true
ID=KTU84P
SERIAL=5EB1D83E
MANUFACTURER=Xiaomi
BRAND=Xiaomi
TYPE=user
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@42737628 is not valid; is your activity running?
        at android.view.ViewRootImpl.setView(ViewRootImpl.java:587)
        at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
        at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
        at android.app.Dialog.show(Dialog.java:286)
        at com.sintn.hera.shop.activity.base.BaseActivity.showPromptDialog(BaseActivity.java:441)
        at com.sintn.hera.shop.activity.base.BaseActivity.onEventRunEnd(BaseActivity.java:685)
        at com.sintn.hera.shop.activity.member.SwipeActivity.onEventRunEnd(SwipeActivity.java:86)
        at com.sintn.hera.shop.AndroidEventManager.doNotify(AndroidEventManager.java:159)
        at com.sintn.hera.shop.AndroidEventManager.notifyEventRunEnd(AndroidEventManager.java:341)
        at com.sintn.hera.shop.AndroidEventManager.onEventRunEnd(AndroidEventManager.java:321)
        at com.sintn.hera.shop.AndroidEventManager$2$1.run(AndroidEventManager.java:262)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5026)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:802)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

        at dalvik.system.NativeStart.main(Native Method)

//原因:

错误原因是Dialog在show的时候必须要有一个activity作为窗口载体,上面的日志的意思是承载Dialog的activity已经被销毁了,不存在了

 

解决方法:

1.粗暴一点直接try catch

2.有好一点就是show之前判断activity是否被销毁了

if (!isFinishing()) showDialog();


0 0
原创粉丝点击