私はMainActivityを持っており、カメラアプリケーションを起動して写真をアップロードできます。家に長時間押し込んだ後、カメラアプリに戻り、後ろに戻るとカメラアプリに戻ります。どのように私はMainActivityに戻るか、ランチャーアイコンをクリックした後でも、どうしていつも戻れますか?Android - 返信からタスクを再開した後MainActivityに戻る
私のカメラアプリの意図:たManifest.xmlフォルダあなたの主な活動のマニフェストで
私はMainActivityを持っており、カメラアプリケーションを起動して写真をアップロードできます。家に長時間押し込んだ後、カメラアプリに戻り、後ろに戻るとカメラアプリに戻ります。どのように私はMainActivityに戻るか、ランチャーアイコンをクリックした後でも、どうしていつも戻れますか?Android - 返信からタスクを再開した後MainActivityに戻る
私のカメラアプリの意図:たManifest.xmlフォルダあなたの主な活動のマニフェストで
ザこれを行うための正しい方法はIntent
あなたはこのように、カメラを起動するために使用するにFLAG_ACTIVITY_NO_HISTORY
を追加することです:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
path = Utils.getOutputMediaFileUri(getApplicationContext());
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, path);
startActivityForResult(cameraIntent, Constant.CAMERA_REQUEST);
NO_HISTORY
フラグを追加することで、あなたはカメラActivity
がままにしたくないのAndroidを伝えます歴史的な痕跡。ユーザーがカメラActivity
から移動すると(ホームボタンを押すか、電話をかけるなど)、カメラActivity
は直ちに終了します。ユーザーがあなたのアプリに戻ると(最近のタスクのリストから選択するか、HOME画面でアプリのアイコンを押す)、カメラActivity
は上に表示されなくなります。
android:excludeFromRecents="true"
android:launchMode="singleTask"
http://stackoverflow.com/questions/5223897/shortcut-from-recent-applications-always-launch-latest-activity-of-applicationこの投稿はすべてあなたの質問に答えます –
ありがとうございますが、これはうまくいかない。私はまだrecentsからカメラアプリに戻ります。カメラのインテントコードを追加します。 –
リンクされた質問に欠陥があります。答えはほとんど間違っており、OPの実際の問題が解決されません。 –
であなたの主な活動
android:launchMode="singleTask"
で
private void showCamera() {
try {
Intent cameraIntent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
path = Utils.getOutputMediaFileUri(getApplicationContext());
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, path);
startActivityForResult(cameraIntent, Constant.CAMERA_REQUEST);
} catch (ActivityNotFoundException ex) {
} catch (Exception ex) {
}
}
ありがとう、これは解決の一種ですが、正確には私が望むものではありません。これは私のアプリケーション全体をrecentsから除外します。私はそれを望んでいない、私はちょうどアイコンとrecentsからMainActivityに戻りたい。 –
お返事ありがとうございます!今のところ最高の解決策は、すべて私が望むように動作しますが、問題があります。最も一般的なケースでは、私がMainActivityからcameraIntentを起動するとき - >保存します - > onActivityResult()メソッドでRESULT_CANCELEDを受け取ります何らかの理由で。さらに、私はいつもこのインテントフラグでRESULT_CANCELEDを受け取ります。どうして?結果を返す前にカメラアクティビティは終了しますか? –
これは問題になる可能性があります。この状況は非常に複雑です。なぜあなたはこの行動を望んでいますか?標準的な振る舞いは、ユーザがカメラを上にしてあなたのアプリを離れた場合、カメラの「Activity」に戻ることです。 –
私はこのコードを単純な仕組みで試してみました。ここでカメラを起動して写真を撮影し、 'onActivityResult()'( 'EXTRA_OUTPUT'を指定せずに)に戻します。これはうまくいき、RESULT_OKと写真が戻ってきます。カメラの「アクティビティ」が写真を保存するための他の「アクティビティ」を起動している場合、これはあなたが見ている問題を引き起こす可能性があります。 –