【发布时间】:2019-04-28 13:18:34
【问题描述】:
我的代码在 API 28 及以下版本中运行良好,但 API 19 除外。 主要问题是当我在具有 API 19 的设备中运行 onActivityResult 时,它不会从我的代码中的其他活动调用
min_sdk 是 17。 compile_sdk && target_sdk 是 27,所以问题不会通过更改来解决。
这是第一个 Activity 的代码:
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 //
}
}
}
}
}
RequestCode 是 1 >> const val RequestCode = 1 我用 intent 将它发送到第一个活动。任何帮助将不胜感激:)
【问题讨论】:
-
你用过startActivityForResult吗?
-
是的 >> activity.startActivityForResult(intent, RequestCode) @TaseerAhmad
-
你在使用任何片段吗?你能生成一些日志吗?
-
不,在这种情况下,两者都是 Activity 。但我从一个片段到这个活动做同样的事情,即使在 API 19 @TaseerAhmad 中它也能正常工作
-
这很奇怪。您是否更改了活动的启动模式?
标签: android kotlin android-4.4-kitkat