期望该活动使用'android:screenOrientation="unspecified"'或'"fullSensor"'参数。

67
我升级了Android Studio到3.6.0。现在,在我的Manifest.xml文件中出现以下错误。
期望这个活动的 'android:screenOrientation="unspecified"' 或 '"fullSensor"',以便用户可以在任何方向上使用应用程序,并在Chrome OS设备上提供良好的体验。
我应该将其转换为"fullSensor"吗?如何解决这个问题?
我的活动方向是portrait。我想继续在我的活动中使用portrait方向。

1
将此标志添加到Android清单活动标记。 - Lena Bru
4个回答

80

这是一种警告,通知开发者对于大屏设备不宜限制屏幕方向。然而,如果您的应用程序仅支持纵向模式,则可以通过以下方式禁用此警告。

Mac:Android Studio -> Preferences

Windows:File -> Settings

接着:

  1. 搜索“chrome”
  2. 取消选中“Activity is locked to an orientation”
  3. 应用并确定。

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

这只会在当前系统中移除警告。因此,此更改不会影响其他正在同一项目上工作的用户。他们仍将看到相同的警告。某种程度上,为了让每个人都了解此警告,进行本地系统更改是好的。但是,如果我们想要在项目级别上删除此警告,则可以使用以下方法:

在 Android Manifest 文件的 manifest 标签中添加 tools:ignore="LockedOrientationActivity"

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

所以这是你的个人偏好,无论你是否希望每个开发人员都知道这个警告,或者你想在清单文件中添加tools:ignore="LockedOrientationActivity"并将此警告静音为所有人。我更喜欢启发每个人 :)


对我很有效。谢谢 @nitesh - Vinod Pattanshetti
这只会消除当前系统的警告。因此,此更改不会影响其他在同一项目上工作的用户。他们仍然会看到相同的警告。从某种意义上说,为本地系统进行此更改是有好处的,因为每个人都可以了解此警告。但是,如果我们想要在项目级别上删除此警告,则可以使用以下内容: 在Android清单文件的清单标记中添加tools:ignore="LockedOrientationActivity"。 例如:<manifest xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="LockedOrientationActivity"... - Nitesh goyal

59

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

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

5
这应该是答案,因为被接受的答案仅适用于本地用户。在清单中添加“ignore”允许其他开发人员也忽略这个更改。 - Matt Strom

7
将以下内容添加到清单标签中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="LockedOrientationActivity"
...

-1
如果您只是因为不想使用Bundle来存储数据而使用纵向方向,请学习如何使用Bundle。这是一种不必使用Bundle的hacky方法,但请相信,这并不能解决所有问题。如果我错了,很抱歉,但我认为设置屏幕方向是一个很好的解决方法。但这只会在长期运行中带来更多问题。

这让我想起来,检查MVVM架构和ViewModel,它负责生命周期。 - zulu_papa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接