什么可以在 finish() 之后让 activity 存活?
What can keep activity alive after finish()?
我有 HomeScreen
和 LoginScr
activity,我想从 HomeScreen
移动到 LoginScr
activity。我是这样做的:
val thread = Thread(Runnable {
try {
val client = APICallRequests.client
client.dispatcher.executorService.shutdown()
client.connectionPool.evictAll()
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
})
thread.start()
val intent = Intent(this, LoginScr::class.java)
startActivity(intent)
finishAfterTransition()
如您所见,我尝试关闭 okHttp3
客户端,因为它可能使 HomeScr
activity 保持活动状态。我也使用 finishAfterTransition()
。然后,当我从 LoginScr 移动到 HomeScr 时,我会这样做:
private fun moveToNextScreen(){
val goToMain = Intent(this, HomeScreen::class.java)
startActivity(goToMain
.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
)
finishAfterTransition()
overridePendingTransition(0, 0)
}
如我所见,我创建了两个 activity 实例而不是一个。我是怎么做到的 - 添加日志到 onCreate()
乐趣。我完全不明白为什么会这样。 onBackPressed()
:
后会遇到类似问题
override fun onBackPressed() {
val startMain = Intent(Intent.ACTION_MAIN)
startMain.addCategory(Intent.CATEGORY_HOME)
startMain.flags = Intent.FLAG_ACTIVITY_NO_ANIMATION
startActivity(startMain)
finish()
super.onBackPressed()
}
我尝试了很多变体,但我的 HomeScreen
可以单独使用。我也在清单上尝试过这样的方法:
android:launchMode="singleTask"
android:noHistory="true"
也许有人知道如何解决这个问题?
我觉得这个回答可以帮到你
此外,如果你想让你的应用程序在后台保持活动状态,那么你可以为此目的使用服务,这里是文档
https://developer.android.com/guide/components/services
我有 HomeScreen
和 LoginScr
activity,我想从 HomeScreen
移动到 LoginScr
activity。我是这样做的:
val thread = Thread(Runnable {
try {
val client = APICallRequests.client
client.dispatcher.executorService.shutdown()
client.connectionPool.evictAll()
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
})
thread.start()
val intent = Intent(this, LoginScr::class.java)
startActivity(intent)
finishAfterTransition()
如您所见,我尝试关闭 okHttp3
客户端,因为它可能使 HomeScr
activity 保持活动状态。我也使用 finishAfterTransition()
。然后,当我从 LoginScr 移动到 HomeScr 时,我会这样做:
private fun moveToNextScreen(){
val goToMain = Intent(this, HomeScreen::class.java)
startActivity(goToMain
.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION)
)
finishAfterTransition()
overridePendingTransition(0, 0)
}
如我所见,我创建了两个 activity 实例而不是一个。我是怎么做到的 - 添加日志到 onCreate()
乐趣。我完全不明白为什么会这样。 onBackPressed()
:
override fun onBackPressed() {
val startMain = Intent(Intent.ACTION_MAIN)
startMain.addCategory(Intent.CATEGORY_HOME)
startMain.flags = Intent.FLAG_ACTIVITY_NO_ANIMATION
startActivity(startMain)
finish()
super.onBackPressed()
}
我尝试了很多变体,但我的 HomeScreen
可以单独使用。我也在清单上尝试过这样的方法:
android:launchMode="singleTask"
android:noHistory="true"
也许有人知道如何解决这个问题?
我觉得这个回答可以帮到你 此外,如果你想让你的应用程序在后台保持活动状态,那么你可以为此目的使用服务,这里是文档 https://developer.android.com/guide/components/services