【问题标题】:onActivityResult doesn't work in API 4.4.4onActivityResult 在 API 4.4.4 中不起作用
【发布时间】:2019-04-28 13:18:34
【问题描述】:

我的代码在 API 28 及以下版本中运行良好,但 API 19 除外。 主要问题是当我在具有 API 19 的设备中运行 onActivityResult 时,它不会从我的代码中的其他活动调用

min_sdk17compile_sdk && target_sdk27,所以问题不会通过更改来解决。

这是第一个 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 //
                }
            }
        }
    }

}

RequestCode1 >> const val RequestCode = 1 我用 intent 将它发送到第一个活动。任何帮助将不胜感激:)

【问题讨论】:

  • 你用过startActivityForResult吗?
  • 是的 >> activity.startActivityForResult(intent, RequestCode) @TaseerAhmad
  • 你在使用任何片段吗?你能生成一些日志吗?
  • 不,在这种情况下,两者都是 Activity 。但我从一个片段到这个活动做同样的事情,即使在 API 19 @TaseerAhmad 中它也能正常工作
  • 这很奇怪。您是否更改了活动的启动模式?

标签: android kotlin android-4.4-kitkat


【解决方案1】:

对我来说,发生这种情况是因为 android:launchMode="singleTask" 而这对 intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP) 没有帮助。

我通过 android:launchMode="singleTop" 修复了它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    相关资源
    最近更新 更多