预期此活动为'android:screenOrientation =“ unspecified””或“ fullSensor”


40

我将Android Studio升级到了3.6.0。现在,我的Manifest.xml文件中出现以下错误。

此活动需要'android:screenOrientation =“ unspecified”'或'“ fullSensor”',以便用户可以在任何方向使用该应用程序,并在Chrome OS设备上提供出色的体验。

我应该将其转换为“ fullSensor”吗?我如何摆脱这个问题?

我的活动方向是肖像。我想在活动中继续使用纵向。


1
将此标志添加到android manifest活动标签中
Lena Bru

Answers:


47

这是一种警告,告知开发人员对于大屏幕设备,限制方向是不好的。但是,如果您的应用程序仅支持纵向模式,则可以通过执行以下操作禁用此警告。

Mac: Android Studio->“偏好设置”

Windows:文件->设置

然后:

  1. 搜索“ chrome”
  2. 取消选中“活动已锁定到某个方向”
  3. 申请并确定。

取消选中步骤屏幕截图 取消选中步骤屏幕截图以禁用警告


为我工作。感谢@nitesh
Vinod Pattanshetti

24

鉴于您的应用程序仅支持portrait模式,您可以通过将其添加tools:ignore="LockedOrientationActivity"到所有活动或仅添加到<manifest>将应用于所有活动的顶层标记来忽略这些错误。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="LockedOrientationActivity"
    ...
    ...

2
这应该是答案,因为被接受的仅适用于本地用户。将忽略添加到清单后,其他开发人员也可以忽略更改。
马修·斯特伦

1

如果您仅使用纵向方向,而不必使用Bundle来存储数据,请学习如何使用Bundle。这是一种不必使用Bundle的怪诞方式,但是请相信我,这不能解决您的所有问题。抱歉,如果我错了,但是我认为通过设置屏幕方向是一种不错的解决方法。从长远来看只会带来更多问题


PS。这让我想起了,请检查MVVM架构和ViewModel,它可以处理生命周期
ZeePee

1

将此添加到清单标记:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="LockedOrientationActivity"
...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.