web-dev-qa-db-ja.com

AndroidManifest:Android:screenOrientation = "unspecified"が必要です

Android Studio 3.6。

アプリを常にportraitモードにする必要があります。だから私のAndroidMainfest.xml

<activity
   Android:name=".activity.SplashActivity"
   Android:screenOrientation="portrait">
   <intent-filter>
      <action Android:name="Android.intent.action.MAIN" />

      <category Android:name="Android.intent.category.LAUNCHER" />
   </intent-filter>
</activity>

アプリを実行すると、SplashActivityportraitモードで表示されます。いいね。しかし、エディターには次のエラーが表示されます。

Expecting Android:screenOrientation="unspecified"

どうして?

27
a_subscriber

マニフェストタグ(xmlns:Android="http://schemas.Android.com/apk/res/Android"のすぐ下)に、

xmlns:tools="http://schemas.Android.com/tools"

次に、アプリケーションタグ内に、

tools:ignore="LockedOrientationActivity
30

Android Studio 3.6+にのみ影響します

ここでの問題は何ですか?この問題は、Androidフレームワークがユーザー自身がアプリの向きを制御することを望んでいるために発生します。たとえば、ユーザーがアプリを横向きで使用したい場合、デバイスを裏返すだけでアプリの向きを制限することはお勧めできません。センサーは機能しますが、開発者が画面の向きを制限すると、回転センサーが機能しても、アプリは事前定義された状態のままになり、ユーザーのデバイス機能を制限します。

今何をする? 2つのオプションがあります。1つ目は、エラーを無視することです。同じことを行ってもビルドエラーは発生せず、apk/aabの生成は通常どおりです。もう1つのオプションは、横長のレイアウトを提供するか、一部のように回転を処理することです向きが変更されたかどうかを認識するアプリは、向きを変更するようにユーザーに促します。

将来変更される可能性があります=>現在、ビルドプロセスには影響していませんが、将来変更される可能性があります

12

Android studio 3.6.0では、ユーザーが方向を処理し、開発者にViewModelの使用を推奨することを期待しています。screenOrientationについて詳しく説明します

Android:screenOrientation="portrait"

指定する必要のあるエラーが発生します

Android:screenOrientation="fullSensor" or Android:screenOrientation="unspecified"

fullSensor「回転オフ」がオンになっているか、携帯電話の移動に基づいて方向が変化しないかを意味します

未指定回転をオンにした場合、その方向にのみ留まり、そうでない場合、携帯電話の移動に基づいて方向を変更します。

6
Rajat

以下の手順を使用しました。それは私にとって完璧に機能します。 Android studio 3.6.0では、ユーザーが方向を処理して、開発者にViewModelのものを使用するように勧めたいと思います。それを無視するには、以下の手順を使用します。

最初に追加:

xmlns:Android="http://schemas.Android.com/apk/res/Android"

マニフェストタグ内。

次に、追加

tools:ignore="LockedOrientationActivity" 

アプリケーションタグ内。ハッピーコーディング。

2
Shohel Rana

この問題を解決する2つの方法を見つけました

最初、

Android Studio -> Preferences (or settings in Windows)
-> search "chrome" 
-> Uncheck "Activity is locked to an orientation" 
-> apply and ok 
-> Sync Project with Gradle flie

第二に、 `

Select "Run" from the main menu 
-> Edit Configurations.
-> Launch options - Launch
-> select Nothing or Specified Activity
-> Sync Project with Gradle file
1
tktschool

Android:screenOrientation="portrait"の後に次の行を追加します

tools:ignore="LockedOrientationActivity"

次にクリック Alt+Enter

enter image description here

0
tools:ignore="GoogleAppIndexingWarning,LockedOrientationActivity"
0
Android

私はこの問題に直面しました。私の要件では、一部のアクティビティは両方の向きをサポートし、残りは縦向きのままです。この場合、私は次の手順で解決しました:

Case-1:-方向をロックするには

Step-1:次の行を追加してくださいAndroidManifest.xml

tools:ignore = "LockedOrientationActivity"

<application
Android:name=".activity.MyApplication"
tools:ignore="LockedOrientationActivity">

Step-2:画面の向きを縦向きまたは横向きにロックする場合は、アクティビティタグに次の行を追加します

Android:screenOrientation = "portrait"または "landscape"

Case-2:-特定のアクティビティで方向付けを許可し、特定の設計をしたい場合横向き

ステップ1:configchangesのOrientation値を削除し、アクティビティタグから画面の向きが存在する場合は削除します。向きを変更しても値を失うことなく、Activityで個人の提案(LifecycleObserver)を使用します。

Android:configChanges = "orientation"
Android:screenOrientation = "portrait"または "landscape"

これが私がこの問題を解決する方法です。それが役に立てば幸いです。Thanks&Happy Coding。

0
MohanRaj S

以下をアクティビティタグに入れてみてください

Android:configChanges="orientation"
Android:screenOrientation="portrait" 
0
Swayangjit

このソリューションを試す:

AndroidMainfest:

<activity
    Android:name="com.ui.activity.SplashActivity"
    Android:screenOrientation="portrait"
    Android:windowSoftInputMode="adjustPan">
    <intent-filter>
        <action Android:name="Android.intent.action.MAIN" />
        <category Android:name="Android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

お役に立てれば!

0
R.Desai