发起URI跳转

启动一个URI。

  1. // 直接传context和URI
  2. Router.startUri(context, "/account");
  3. // 或构造一个UriRequest
  4. Router.startUri(new UriRequest(context, "/account"))

使用UriRequest的默认封装子类DefaultUriRequest,以Builder形式给本次跳转设置各种参数。

  1. new DefaultUriRequest(context, "/account")
  2. // startActivityForResult使用的RequestCode
  3. .activityRequestCode(100)
  4. // 设置跳转来源,默认为内部跳转,还可以是来自WebView、来自Push通知等。
  5. // 目标Activity可通过UriSourceTools区分跳转来源。
  6. .from(UriSourceTools.FROM_INTERNAL)
  7. // Intent加参数
  8. .putIntentExtra("test-int", 1)
  9. .putIntentExtra("test-string", "str")
  10. // 设置Activity跳转动画
  11. .overridePendingTransition(R.anim.enter_activity, R.anim.exit_activity)
  12. // 监听跳转完成事件
  13. .onComplete(new OnCompleteListener() {
  14. @Override
  15. public void onSuccess(@NonNull UriRequest request) {
  16. ToastUtils.showToast(request.getContext(), "跳转成功");
  17. }
  18. @Override
  19. public void onError(@NonNull UriRequest request, int resultCode) {
  20. }
  21. })
  22. // 这里的start实际也是调用了Router.startUri方法
  23. .start();