接靠谱助手的时候报错Fragment already added 解决办法

今天接靠谱助手sdk的时候,报错Fragment already added,具体log如下:

05-01 10:42:42.368: W/dalvikvm(32007): threadid=1: thread exiting with uncaught exception (group=0x41a62c98)
05-01 10:42:42.369: W/dalvikvm(32007): threadid=1: uncaught exception occurred
05-01 10:42:42.372: W/System.err(32007): java.lang.IllegalStateException: Fragment already added: j{423fb7c0 #0 }
05-01 10:42:42.376: W/System.err(32007): 	at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1133)
05-01 10:42:42.378: W/System.err(32007): 	at android.app.BackStackRecord.run(BackStackRecord.java:630)
05-01 10:42:42.383: W/System.err(32007): 	at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
05-01 10:42:42.385: W/System.err(32007): 	at android.app.FragmentManagerImpl$1.run(FragmentManager.java:443)
05-01 10:42:42.395: W/System.err(32007): 	at android.os.Handler.handleCallback(Handler.java:808)
05-01 10:42:42.396: W/System.err(32007): 	at android.os.Handler.dispatchMessage(Handler.java:103)
05-01 10:42:42.398: W/System.err(32007): 	at android.os.Looper.loop(Looper.java:193)
05-01 10:42:42.399: W/System.err(32007): 	at android.app.ActivityThread.main(ActivityThread.java:5409)
05-01 10:42:42.401: W/System.err(32007): 	at java.lang.reflect.Method.invokeNative(Native Method)
05-01 10:42:42.402: W/System.err(32007): 	at java.lang.reflect.Method.invoke(Method.java:515)
05-01 10:42:42.411: W/System.err(32007): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:859)
05-01 10:42:42.412: W/System.err(32007): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:675)
05-01 10:42:42.414: W/System.err(32007): 	at dalvik.system.NativeStart.main(Native Method)
05-01 10:42:42.414: W/dalvikvm(32007): threadid=1: calling UncaughtExceptionHandler

打断点切换账号重新登陆的时候崩溃到这里

屏幕快照 2016-05-01 10.42.20.png

找了几个网上关于这个问题的Fragment already added的解决办法都是针对内核的,并不适合接sdk的这个。

想下面这几个,但是都不是在接sdk种碰到的,列出来,万一以后用得着呢。

  1. java.lang.IllegalStateException: Fragment already added:
  2. 关于Fragment使用中遇到的异常:Fragment already added和fragment not attached
  3. Fragment already added
  4. java.lang.IllegalStateException: Fragment already added异常的处理
  5. Fragment already added 解决方法
  6. IllegalStateException: Fragment already added in the tabhost fragment

尝试了下把登陆放在ui线程里面跑,然并卵。

屏幕快照 2016-05-01 10.42.12.png

流程就是切换账号之后,又重新初始化,登陆,但是就是这个第二次登陆的时候报的这个错,最后别人提醒,有可能是切换登陆的时候已经有悬浮窗,手动调用登陆又出来一次悬浮窗,是冲突的,最后就是自己手动加一个判断值,如果是手动切换账号,就不再让登陆窗口出来即可

屏幕快照 2016-05-01 13.19.18.png

如果有碰到同样问题的可以参考下

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment