Skip to content

RouterApi for RxJava

xiaojinzi123 edited this page Jun 17, 2021 · 1 revision

具体使用

普通跳转等待跳转结果, 失败抛异常

@HostAndPathAnno("user/detail")
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Completable

获取 ActivityResult

@NavigateAnno(forResult = true) // 注意这里要和返回值对应
@HostAndPathAnno("user/detail")
@RequestCodeAnno() // 表示随机使用一个 requestCode
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Single<ActivityResult>

获取 Intent

@NavigateAnno(forIntent = true) // 注意这里要和返回值对应
@HostAndPathAnno("user/detail")
@RequestCodeAnno() // 表示随机使用一个 requestCode
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Single<Intent>

获取 Intent 的同时, 匹配 resultCode(当 resultCode 匹配才返回 Intent, 否则异常)

@NavigateAnno(forIntent = true, resultCodeMatch = Activity.RESULT_OK)
@HostAndPathAnno("user/detail")
@RequestCodeAnno() // 表示随机使用一个 requestCode
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Single<Intent>

获取 resultCode

@NavigateAnno(forResultCode = true)
@HostAndPathAnno("user/detail")
@RequestCodeAnno() // 表示随机使用一个 requestCode
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Single<Int>

单纯的匹配 resultCode(当 resultCode 匹配即表示成功, 否则异常)

@NavigateAnno(resultCodeMatch = Activity.RESULT_OK)
@HostAndPathAnno("user/detail")
@RequestCodeAnno() // 表示随机使用一个 requestCode
fun go(
  context: Context,
  @ParameterAnno("userId") userId: String
): Completable
Clone this wiki locally