天天看点

android onactivityresult 快速,android-onActivityResult被立即调用

我正在使用来自按钮处理程序的startActivityForResult()启动一个活动,并且甚至在命中目标活动的onCreate()之前,我的onActivityResult()都会被立即调用.

public void onGraphNext (View target) {

Intent i = new Intent(this, AddCommentActivity.class);

startActivityForResult(i,6); // 6 is arbitrary request code

}

. . .

protected void onActivityResult(int requestCode, int resultCode,

Intent returnData) {

if ( (resultCode == RESULT_OK) && (requestCode == 6) ) {

Bundle extras = returnData.getExtras();

comment = extras.getString("comment");

}

}

返回的结果代码为0,请求代码为6.在StackOverflow的其他地方,我见过人们报告此问题,解决方案是对清单中的launchMode不使用singeInstance.但是我正在使用standard. . .

android:configChanges="orientation"

android:screenOrientation="portrait"

android:launchMode="standard">

预先感谢您的任何见解!

编辑:我做了一个简单的测试程序,当调用方(“ launcher”)-具有onActivityResult的活动是singleInstance并且被调用的Activity(“ launchee”)是标准的时,我可以可靠地重现该问题.即,

android:screenOrientation="portrait"

android:launchMode="singleInstance">

android:screenOrientation="portrait"

android:launchMode="standard">

这对我来说是个问题,因为在实际应用中,由于其他原因,被调用者必须是singleInstance,但是它希望具有按钮来启动其他活动以请求用户输入.如果我不能使用startActivityForResult,该怎么办?