除API 19外,我的代码在API 28及以下版本中均可正常运行。 主要问题是,当我在具有API 19的设备中运行 onActivityResult 时,不会从代码中的其他活动中调用
min_sdk 是 17 。 compile_sdk 和& target_sdk 是 27 ,因此通过更改它们无法解决问题。
这是第一个活动中的代码:
food.name = name
intent.putExtra(Food_Name, burgerNameEtxt.text.toString())
setResult(Activity.RESULT_OK, intent)
finish()
这是我应该在另一个活动中接收结果的地方:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
RequestCode -> {
when (resultCode) {
Activity.RESULT_OK -> {
var food = getCurrentFood(mMenueItem.id)
food.name = data!!.getStringExtra(Food_Name)
// doing some thing with data //
}
}
}
}
}
请求代码为 1 >> 常量请求代码= 1 我用 intent 将其发送到第一个活动。任何帮助将不胜感激:)
答案 0 :(得分:0)
对我来说,这是由于android:launchMode =“ singleTask”而发生的,这对intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)没有帮助。
我通过android:launchMode =“ singleTop”修复了它。