我想知道在下面的情況+ FIX發生了什麼。Android,結果startAcitivity產生奇怪的流
後不知何故主叫
fragment.startActivityForResult
- >代碼到達第一onActivityResult
(上片段,與結果0 =取消),則內部第二活動。
相同的東西,如果我使用getActivity()
。 startActivityForResult
..我用調試器檢查過。我從第二個活動迴應後,代碼將不會達到onActivityResult
(就像它被「消耗」?)
我正在構建一個啓動器應用程序,我的活動在Manifest
有一些廢話,但不認爲它是從那裏。
<activity android:name=".ui.home.HomeActivity"
android:launchMode="singleTask"
android:stateNotNeeded="true"
android:screenOrientation="portrait"
android:excludeFromRecents="true"/>
<activity android:name=".ui.apps.AppsActivity"
android:launchMode="singleTask"
android:stateNotNeeded="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"/>
這是我創建的意圖
intent = new Intent(getActivity(), AppsActivity.class);
intent.putExtra(AppsActivity.KEY_PICK_APP, true);
getActivity().startActivityForResult(intent,BottomShortcutsFragment.REQUEST_CODE_PICK_APP);
我這是怎麼迴應
Intent intent = new Intent();
intent.putExtra(KEY_SELECTED_APP, packageName);
setResult(Activity.RESULT_OK, intent);
finish();
更新#1 距離清單,它的工作原理,如果我刪除從第二個活動android:launchMode =「singleTask」
<activity
android:name=".ui.apps.AppsActivity"
android:screenOrientation="portrait"
android:stateNotNeeded="true"
android:windowSoftInputMode="stateHidden" />
請託的所有相關方法。所有的代碼應該在類和方法內部。畢竟這是Java。 –