发起URI跳转
启动一个URI。
// 直接传context和URI
Router.startUri(context, "/account");
// 或构造一个UriRequest
Router.startUri(new UriRequest(context, "/account"))
使用UriRequest的默认封装子类DefaultUriRequest,以Builder形式给本次跳转设置各种参数。
new DefaultUriRequest(context, "/account")
// startActivityForResult使用的RequestCode
.activityRequestCode(100)
// 设置跳转来源,默认为内部跳转,还可以是来自WebView、来自Push通知等。
// 目标Activity可通过UriSourceTools区分跳转来源。
.from(UriSourceTools.FROM_INTERNAL)
// Intent加参数
.putIntentExtra("test-int", 1)
.putIntentExtra("test-string", "str")
// 设置Activity跳转动画
.overridePendingTransition(R.anim.enter_activity, R.anim.exit_activity)
// 监听跳转完成事件
.onComplete(new OnCompleteListener() {
@Override
public void onSuccess(@NonNull UriRequest request) {
ToastUtils.showToast(request.getContext(), "跳转成功");
}
@Override
public void onError(@NonNull UriRequest request, int resultCode) {
}
})
// 这里的start实际也是调用了Router.startUri方法
.start();