当前位置: 首页 > 知识库问答 >
问题:

startActivityForResult()返回结果取消

仲元凯
2023-03-14

我有两个活动类和一个非活动类,它们从构造函数中传递的上下文调用startActivityForResult()。它看起来是这样的:FirstActivity-

不活跃

public void showActivity() {
    Intent intent = new Intent(request, ActivityKorak.class);
    intent.putExtra("data", fields);

    request.startActivityForResult(intent, 1);
}

第二活动

@Override
public void onBackPressed() {
    super.onBackPressed();

    Intent intent = new Intent();
    intent.putExtra("data", fields);
    setResult(Activity.RESULT_OK, intent);

    finish();
}

第一活动

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
    super.onActivityResult(requestCode, resultCode, intent);
    if(resultCode != Activity.RESULT_CANCELED){
        if(requestCode == 1) {
            Bundle extras = intent.getExtras();
            ArrayList<CustomInput> fields = (ArrayList<CustomInput>) extras.getSerializable("data");
        }
    }
}

共有2个答案

司空思聪
2023-03-14

在我的例子中,通过将Android Studio中提供的SHA-1和SHA-256证书指纹(单击AS窗口右侧的Gradle,然后运行配置和signingReport)添加到Firebase项目设置中,问题得到了解决-

方心思
2023-03-14

您必须简单地删除

super.onBackPressed();

在onBackPressed方法

发生的是“super.onbackpress()”将结果代码设置为“result_cancelled”,并完成活动。

 类似资料:
  • 我有两个活动,我在第二个活动上启动一个Intent以使用start ActivityForResult(...)检索结果,然后使用onActivityResult(...)处理结果。 问题是结果从第二个活动返回的代码始终RESULT_CANCELED。因此,不要通过条件的“resultCode == RESULT_OK”,在我的Main Acitivty中更新textView。 主要活动 第二项活

  • 我有一个活动,我正在添加片段。有一个片段(WhenFragment),我在其上添加另一个片段(DateSelectionFragment)来获取日期,当我按back时,我需要该日期并希望在文本视图中设置。我为此使用了OnFragmentInteractionListener,它正确返回WhenFragment的结果。但我无法在OnFragmentInteractionListener实现中访问Te

  • 问题内容: 我正在尝试创建一种方法,从中可以查询数据库并检索整个表。 目前,如果我使用这些数据只是正常工作 中 的方法。但是,我希望该方法返回结果。 我正在了解当前代码。 我该如何实现? 问题答案: 您永远不要通过公共方法来回避。这很容易导致资源泄漏,因为您不得不保持语句和连接打开。关闭它们将隐式关闭结果集。但是,将它们保持打开状态将导致它们悬而未决,并且当它们打开过多时,将导致数据库用尽资源。

  • 我有一个简单的代码,可以从第14列开始将转置的范围复制到另一张表的最后一行 它按原样返回零结果。如果我将destrow从公式更改为simple 2(这是现在最后一个空行),则效果很好。为什么不返回目标工作表中的最后一行索引?

  • 我正在尝试处理新的AndroidLollipopMediaProjection API。 我发现(至少在我的股票三星Galaxy S4 jfltexx上),当我开始意图获取捕获屏幕的权限()时,除非我在前面的尝试中选中了“不要再次询问”,否则在中不会有结果... 和结果处理: 权限对话框显示得很好,但是我的活动被隐藏了,它永远不会转到。 知道出什么问题了吗?

  • 虽然运行与SQL查询相同的查询并获取结果,但在ifCurrent中未获取任何结果。 我是否传递了错误的参数? 这就是在学校里通过的