我已将targetSdkVersion
和compileSdkVersion
升级到33
。
现在我收到一个警告,告诉我onBackPressed已经被弃用。
我看到建议使用android.window.OnBackInvokedCallback或androidx.activity.OnBackPressedCallback来处理返回导航。有人可以帮助我使用更新的方法吗?
示例
使用案例我在onBackPressed()方法中使用
if (isTaskRoot) {}
来检查当前活动是否是活动堆栈中的最后一个。override fun onBackPressed() {
if (isTaskRoot) { // Check whether this activity is last on the activity stack. (Check whether this activity opened from a Push Notification.)
startActivity(Intent(mContext, Dashboard::class.java))
finish()
} else {
finishWithResultOK()
}
}
super.onBackPressed()
,那么你可以完全删除这个方法,因为你没有编写任何自定义的返回行为。如果你正在编写自定义的返回行为,请展示你的代码。 - ianhanniballakeonBackPressed()
中使用if (isTaskRoot) {}
来检查活动是否是活动堆栈上的最后一个。我也更新了问题。 - Rumit PatelonBackPressed()
。 - Rumit PatelisTaskRoot
条件吗?大多数答案似乎都集中在琐碎的用例上。 - TWiStErRob