Activity
のフロントカメラの動画を記録するActivity
があります。ユーザーが最初に画面に入った場合、これは正常に動作しますAndroidアクティビティはonActivityResultの後に回転します
<activity
android:name=".activity.SomeVideoActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="Video Activity"
android:screenOrientation="portrait" />
:オリエンテーションは、次のコードを経由してAndroidManifest.xml
ファイルでポートレートにロックされています。ただし、このアクティビティを終了してから戻ってきたら、明らかにランドスケープモードが再び有効になります。
私は、次のコードブロック経由での向きを強制することで、状況を救済するために管理:
@Override
protected void onResume() {
super.onResume();
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
だから私はこれが唯一のこの1つのだけの活動に起こる理由として、単に興味があります。私はonActivityResult
のために他の活動をチェックしました、そして、彼らは全く向き設定を台無しにしません。
UPDATE:
私の唯一の目的は肖像画や風景無効回転に活動をロックすることであるとして、実際にはこの問題はthis.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
を使用することによって解決されます。私はちょうどを理解しますAndroidManifest
で縦向きを持つと宣言されていても、別のアクティビティから返された後に、SomeVideoActivity
で回転が再び有効にされるのはなぜですか。
注意:構成変更を処理するためにアクティビティを宣言するときは、代替案を提供する要素をリセットする必要があります。オリエンテーションの変更を処理するためにアクティビティを宣言し、画像を横から縦に変更する必要がある場合は、 [onConfigurationChanged()。](https://developer.android)の各リソースに各リソースを再割り当てする必要があります。 –
@EmdadHossain、私は実際にマニフェストから 'android:configChanges =" orientation "'を取り除こうとしましたが、それは何もしませんでした。差。実際、すべての自分の活動はマニフェストと同じ設定になっています。このビデオ録画活動は、別のアクティビティから戻った後のローテーションの問題です。 – rach
はちょうど確かに **変更** アンドロイド:configChanges = "オリエンテーション| keyboardHidden |画面サイズ" ** ** Androidに:configChangesは= "オリエンテーション|画面サイズは" 私に知らせて任意のアップデートの場合..! ! –