我遇到了一个我不知道如何解决的问题。 这是我的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参数。
有什么建议吗?
答案 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的提示!