天天看點

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,該怎麼辦?