私のアプリでは、電話では向きを縦向きに固定し、タブレットでは縦向きと横向きを許可する必要があります。私はここで答えを見てきましたが、xmlだけを使って同じことをしたいと思っています。マニフェストに次の行を追加しようとしました
<activity
android:theme="@style/Theme.ActionBarLargeTitle"
android:name="com.work.activities.MyActivity"
android:screenOrientation="@integer/orientation_supported"
android:exported = "false"/>
res/values/dimens.xml に次の行を追加しました (1 はポートレートに対応)
<integer name="orientation_supported">1</integer>
追加した別のファイル res/values-sw600dp/dimens.xml を作成しました (-1 は未指定に対応します)。
<integer name="orientation_supported">-1</integer>
電話では、このコードは正常に機能し、アクティビティは常に縦向きモードになります。Nexus 10 インチ タブレット (幅 800 dp) ではこれが失敗し、ポートレート モードで修正されます。このアプローチに問題はありますか?
編集: さまざまな値を確認しましたが、すべての場合 (すべてのデバイスで) res/values/dimens.xml の値が取得されます。この値が欠落している場合、アプリのインストール時に「インストール エラー: INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION」というエラーが発生します。