YouzanMobileSDK-Android icon indicating copy to clipboard operation
YouzanMobileSDK-Android copied to clipboard

x5 版本 7.0.0 webview Loading 时崩溃

Open codemilestones opened this issue 4 years ago • 1 comments

崩溃路径:

30144 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   Process: com.fenbi.android.solar, PID: 5780
30145 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to android.graphics.drawable.AnimationDrawable
30146 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at com.youzan.androidsdkx5.view.LoadingView.setImage(LoadingView.java:50)
30147 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at com.youzan.androidsdkx5.plugin.WebClientWrapper$1.run(WebClientWrapper.java:423)
30148 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at android.os.Handler.handleCallback(Handler.java:900)
30149 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at android.os.Handler.dispatchMessage(Handler.java:103)
30150 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at android.os.Looper.loop(Looper.java:219)
30151 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at android.app.ActivityThread.main(ActivityThread.java:8347)
30152 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at java.lang.reflect.Method.invoke(Native Method)
30153 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
30154 09-23 19:22:33.431 E 5780 5780 AndroidRuntime:   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)

fragment 初始化代码

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    webView.loadUrl(SolarUrl.getMallYouzanStoreUrl())

    webView.subscribe(object : AbsAuthEvent() {
        override fun call(context: Context?, needLogin: Boolean) {
            if (needLogin && !UserManager.getInstance().isUserLogin) {
                LoginManager.builder().loginSuccessRouter(object : ILoginSuccessRouter {
                    override fun onLoginSuccess(activity: Activity) {
                        requestYouzanCookie(context)
                    }
                }).loginCloseRouter(object : ILoginCloseRouter {
                    override fun onLoginClose(activity: Activity) {
                        webView.syncNot()
                    }
                })
            } else {
                requestYouzanCookie(context)
            }
        }

        private fun requestYouzanCookie(context: Context?) {
            val token = YouzanToken()
            token.accessToken = "接口返回的access_token"
            token.cookieKey = "接口返回的cookie_key"
            token.cookieValue = "接口返回的cookie_value"

            YouzanSDK.sync(context!!, token)
            webView.sync(token)
        }
    })
}

codemilestones avatar Sep 24 '20 02:09 codemilestones

@foxapple 你本地 Gradle 缓存有 7.0 的包吗?能发给我一下吗

dengshiwei avatar Jul 19 '21 07:07 dengshiwei