次の場合+ FIXで何が起こっているのか知りたい。 >コードは、(断片上、結果0 =キャンセルさを有する)、第2の活性内部onActivityResult
最初に到達 -
fragment.startActivityForResult
を呼び出した後にどういうわけかAndroid、startAcitivityの結果が奇妙なフローを生成する
。
getActivity()
を使用すると同じものがあります。 startActivityForResult
..デバッガでチェックしました。 2番目のアクティビティから応答した後、コードがonActivityResult
に到達しません(「消費されました」のように)
ランチャーアプリを構築しています。
<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 intent = new Intent();
intent.putExtra(KEY_SELECTED_APP, packageName);
setResult(Activity.RESULT_OK, intent);
finish();
をどのように反応するかUPDATE#1 ある意図
intent = new Intent(getActivity(), AppsActivity.class);
intent.putExtra(AppsActivity.KEY_PICK_APP, true);
getActivity().startActivityForResult(intent,BottomShortcutsFragment.REQUEST_CODE_PICK_APP);
を作成する方法であります2番目のアクティビティからアンドロイド:launchMode = "singleTask"
<activity
android:name=".ui.apps.AppsActivity"
android:screenOrientation="portrait"
android:stateNotNeeded="true"
android:windowSoftInputMode="stateHidden" />
。すべてのコードは、クラスとメソッドの内部にある必要があります。結局、これはJavaです。 –