私のコードは、より小さくて大きなデバイス(Motorola Xoom、Samsung Galaxy Player 4.0、Kyocera Digno)では期待通りに動作しますが、ACTION_IMAGE_CAPTURE
インテントそしてもちろん望ましくないとする、アプリがonDestroy()
を返すときonActivityResult()
そして、onCreate()
が続く、と呼ばれ、写真を撮るが呼び出され、そして最後に、onDestroy()
とonCreate()
が再び呼び出され - だけonActivityResult()
と呼ばれるべきです。Samsung Galaxy Tab 7.0は、カメラの意図から戻ってアプリを再起動します
Possibles手がかり:
- 銀河タブ7.0が明示的にマニフェストファイルでサポートされていない画面サイズ(これは私がサポートされていない画面サイズでテストしている唯一のデバイスである)ので、ユーザを有しますびっくりするか、フィットするかを選択できます。どちらのUIも同じ(悪い)動作をします。
- 画像のプレビュー時にカメラの動作が向きを変えているようです。私のアプリはポートレートモード(編集:小さい画面でのみサポート - xlarge以外の画面では、方向の変更をサポートしています)。多分、オリエンテーションの変更は何とか私の活動を破壊しているのかもしれない。
- 私は別の意図(電子メールの意図)から起動して返そうとしましたが、その場合、私のアプリケーションは破壊されずに再作成されません。
詳細情報やコードサンプルが必要な場合は教えてください。
編集:方向変更に問題が絞り込まれています。 Karthikの答えによれば、android:configChanges="orientation"
と設定すると問題が解決されます。唯一の問題は、私のアプリがxlarge画面で方向変更をサポートしていることです。この設定は、これらのデバイスでこの機能を無効にします。 android:configChanges="@string/config_changes"
を使用して試してみましたが、画面サイズによって異なる文字列を入力していましたが、今は「インストールエラー:INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION」が表示されています。これによれば、Android Activity, how to override manifest's android:configChanges with Java code?には、プログラムで設定する方法がありません。私の唯一のオプションは、私のアプリのすべての方向変更を手動で処理するために残っていますか?
私はあなたがXLARGE画面のために、手動で活動中の向きの変更を処理する必要が推測します。または、xlargeデバイスの場合は、APKを個別に変更する必要があります。 – Karthik