Объедините флаги и четкую обратную трассировку в котлине
Я использую Kotlin для разработки приложений для Android. В Android мы использовали addFlags и setFlags для установки флагов и очистки действий обратной трассировки, разделенных символом "|". Как этого добиться в Котлине? В настоящее время я использую код ниже в Kotlin:
startActivity(Intent(context, MyActivity::class.java)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK))
Но это не работает. Я также попробовал addFlags, он также не работает. Что должно быть сделано в этом сценарии?
1 ответ
Используйте это так
val intent = Intent(context, MyActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
Используйте это с намерением, чтобы очистить действия обратной трассировки
var intent = Intent(this, [Your_activity]:class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
val intent = Intent(activity!!, MainActivity::class.java)
startActivity(intent)
activity!!.finishAffinity()
Используйте это с намерением, чтобы очистить действия обратной трассировки
Джава
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
Котлин
var intent = Intent(this, [Your_activity]:class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
val intent = Intent(this, MyActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_CLEAR_TASK
startActivity(intent)
добавить в манифест android:launchMode="singleTask