我遇到了一个不知道如何解决的问题。 这是我启动新 Activity 的 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 参数。
有什么建议为什么它不起作用吗?
最佳答案
requestCode change from 1 to 0. as shown below
@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) {
}
}
}
关于java - Android onActivityResult() 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30422228/