Android onActivityResult()无法调用

时间:2015-05-24 09:59:50

标签: java android android-intent

我遇到了一个我不知道如何解决的问题。 这是我的MainActivity.java代码,它启动了一个新活动:

Intent intent = new Intent(this, AssociationActivity.class);
    intent.putExtra("data", json);
    startActivityForResult(intent, 0);

另外,我有以下onActivityResult() - 方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    System.out.print("works outside!");
    if (requestCode == 1) {
        if(resultCode == RESULT_OK){
            System.out.print("works inside!");
        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}

这是将结果发送到MainActivity的地方:

Intent returnIntent = new Intent();
returnIntent.putExtra("result", string);
setResult(RESULT_OK, returnIntent);
finish();

似乎onActivityResult()甚至没有被调用,因为我在控制台上没有任何输出。

在AndroidManifest.xml中,我既不使用singleIntent也不使用noHistory参数。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

  

requestCode从1更改为0.如下所示

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    System.out.print("works outside!");
    if (requestCode == 0) {
        if(resultCode == RESULT_OK){
            System.out.print("works inside!");
        }
        if (resultCode == RESULT_CANCELED) {

        }
    }
}

答案 1 :(得分:0)

好的,我发现了这个问题,根本没有任何问题,我用来自Android的System.out替换了Log语句,它一直在工作,Android只是推迟了{{1但是我不知道为什么。 谢谢@Rene Juuse的提示!