Comments (2)
抱歉才看到,我仔细想下再回复你。
from router.
补充一下对于问题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)
- AppInterceptorsHandler看代码一个问题,会导致公共拦截器和私有拦截器执行顺序混乱 HOT 1
- android 6.0 出现的内存溢出 HOT 1
- [Router 1.7.5]每次构建路由表都会发生变化,导致编译速度变慢 HOT 3
- 编译时遇到java.lang.reflect.InvocationTargetException HOT 2
- 希望可以支持onActivityResult 和activity解藕 HOT 2
- jcenter即将关闭,请问何时迁移? HOT 2
- Build 发生异常 HOT 1
- 1.7.5版本在release包中 mSettingFragment是null HOT 2
- Kotlin 1.5.20 版本编译报错 HOT 1
- 部分Module 不生效 HOT 12
- 版本1.8.0,如果module的application为光秃秃的<application>。则报错org.xml.sax.SAXParseException; lineNumber: xxx; columnNumber: xxx; The prefix "android" for attribute "android:name" associated with an element type "meta-data" is not bound. HOT 3
- 有时候跳转没反应。请问是什么原因呢。1.7.6 HOT 12
- 可以适配下Android12吗 HOT 1
- '元素类型 "uses-sdk" 必须后跟属性规范 ">" 或 "/>"。' HOT 13
- fragment跳转fragment未生效? HOT 2
- 1.8.1Cannot invoke method appendNode() on null object HOT 26
- 开启混淆后运行报错 java.lang.AbstractMethodError HOT 4
- Cannot invoke method appendNode() on null object HOT 13
- 支持scheme协议吗 HOT 1
- No option `moduleName` passed to Route annotation processor. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from router.