如何完成当前活动并启动新的活动接收方式?

问题描述 投票:2回答:2

我想在Rx中执行以下操作。由于startActivity(intent)只是排队的异步调用,因此可以保证finish()被调用:

private fun launchNewActivity(){
  ...
  finish()
  startActivity(intent)
}

因此,以Rx的方式,我正在做类似的事情,两者都包装在自己的可观察对象中(要求):

private fun launchNewActivity(): Observable<Any>{
  ...
  return Observable.concat(
    Observable.just(finish())
    Observable.just(startActivity(intent))
    ...
  )
}

但是,我担心使用Rx方式,活动可能

在调用startActivity之前完成。那会发生吗?

我想在Rx中执行以下操作。由于finish()只是排队的异步调用,因此可以确保调用startActivity(intent):private fun launchNewActivity(){... finish()...

android android-activity rx-java2
2个回答
5
投票

实际上您是在以错误的顺序调用它。您应先致电startActivity(),然后再致电finish()。尽管如此,还是将这个过程封装在一个Observable中[[可能会导致意外行为


0
投票
这里是答案...您可以在完成此活动之前开始下一个活动。首先开始您的活动startactivity(Intent(this,NextActivity::Class.java)并调用finish()后,它可以完成当前活动。
© www.soinside.com 2019 - 2024. All rights reserved.