Giter Site home page Giter Site logo

Comments (2)

chenenyu avatar chenenyu commented on May 19, 2024

抱歉才看到,我仔细想下再回复你。

from router.

zhangchaoxu avatar zhangchaoxu commented on May 19, 2024

补充一下对于问题1的log,我将LoginInterceptor修改为直接传递RouterRequest,报错信息如下

@Interceptor("Login")
public class LoginInterceptor implements RouteInterceptor {

    @Override
    public boolean intercept(Context context, RouteRequest routeRequest) {
        boolean isUserLogin = App.getInstance().isUserLogin();
        if (!isUserLogin) {
            // 未登录则跳转到登录页面,不直接将routeRequest传递是因为routeRequest中bundle无法序列化
            /*Router.build("Login")
                    .with("routeExtras", routeRequest.getExtras())
                    .with("routePath", routeRequest.getUri().toString())
                    .with("routeRequestCode", routeRequest.getRequestCode())
                    .requestCode(RequestCode.USER_LOGIN)
                    .go(context);*/
            Router.build("Login")
                    .with("routeRequest", routeRequest)
                    .requestCode(RequestCode.USER_LOGIN)
                    .go(context);
            ToastUtils.showLong(R.string.login_request);
        }
        return !isUserLogin;
    }
}

错误信息

java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.chenenyu.router.RouteRequest)
        at android.os.Parcel.writeSerializable(Parcel.java:1394)
        at android.os.Parcel.writeValue(Parcel.java:1341)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:644)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1313)
        at android.os.Bundle.writeToParcel(Bundle.java:1034)
        at android.os.Parcel.writeBundle(Parcel.java:669)
        at android.content.Intent.writeToParcel(Intent.java:7485)
        at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2411)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496)
        at android.app.Activity.startActivityForResult(Activity.java:3745)
        at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54)
        at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67)
        at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:230)
        at com.chenenyu.router.RealRouter.go(RealRouter.java:480)
        at com.idogfooding.exchange.user.LoginInterceptor.intercept(LoginInterceptor.java:36)
        at com.chenenyu.router.RealRouter.intercept(RealRouter.java:458)
        at com.chenenyu.router.RealRouter.finalizeIntent(RealRouter.java:255)
        at com.chenenyu.router.RealRouter.getIntent(RealRouter.java:235)
        at com.chenenyu.router.RealRouter.go(RealRouter.java:506)
        at com.idogfooding.exchange.news.NewsListFragment.lambda$cfgAdapter$0$NewsListFragment(NewsListFragment.java:66)
        at com.idogfooding.exchange.news.NewsListFragment$$Lambda$0.onItemClick(Unknown Source)
        at com.chad.library.adapter.base.BaseQuickAdapter.setOnItemClick(BaseQuickAdapter.java:976)
        at com.chad.library.adapter.base.BaseQuickAdapter$5.onClick(BaseQuickAdapter.java:956)
        at android.view.View.performClick(View.java:4780)
        at android.view.View$PerformClick.run(View.java:19866)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.io.NotSerializableException: android.os.Bundle
        at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1344)
        at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
        at java.io.ObjectOutputStream.writeFieldValues(ObjectOutputStream.java:959)
        at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:360)
        at java.io.ObjectOutputStream.writeHierarchy(ObjectOutputStream.java:1054)
        at java.io.ObjectOutputStream.writeNewObject(ObjectOutputStream.java:1384)
        at java.io.ObjectOutputStream.writeObjectInternal(ObjectOutputStream.java:1651)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1497)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:1461)
        at android.os.Parcel.writeSerializable(Parcel.java:1389)

from router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.