当前位置: 首页 > 面试题库 >

使用非透明活动定位Android API 27时锁定屏幕方向

西门良才
2023-03-14
问题内容

我有一个具有一个活动android:windowIsTranslucent设置true,并android:windowBackground设置成半透明的背景。我只是将目标更改为,并将sdk版本编译为27,现在启动此活动时出现异常:

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

由于这是一个新的SDK,因此尚无任何在线信息(它似乎是由以下代码行导致的:https://android.googlesource.com/platform/frameworks/base.git/+/master/核心/java/android/app/Activity.java#987)

有什么办法可以解决这个问题?如果我android:screenOrientation="portrait"从清单中取出该应用程序,则该应用程序不会崩溃,但我希望能够保持这种状态。


问题答案:

我也面临同样的问题。就像其他人所说的,如果我删除了 android:screenOrientation =“ portrait” 或用
android:screenOrientation =“ unspecified”
覆盖了它,那么该异常就消失了。并且似乎前活动的方向遵循后活动的方向。

我想过这个问题。如果前面的活动是透明的,后面的活动的方向不同,则显示将变得奇怪。因此,我可以理解为什么添加了此检查逻辑。但是,我想知道为什么在Developer
Preview 8.0.0中没有发生此问题。



 类似资料:
  • 我有一个活动,设置为,设置为半透明背景。我刚刚更改了我的目标并编译sdk版本到27,现在启动此活动时遇到异常: 由于这是一个新的sdk,目前还没有任何在线信息(它似乎来自以下代码行:https://android.googlesource.com/platform/frameworks/base.git//master/core/java/android/app/Activity。java#987

  • 即使屏幕被锁定,如何在设备上开始活动。我尝试了下面的方法,但是不起作用。 广播接收器:

  • 我正在编写一个应用程序来管理或自定义Android设备的解锁屏幕。它的工作原理如下: 用户使用电源按钮锁定屏幕。 用户尝试解锁屏幕,从而再次按下电源按钮 我的活动弹出--屏幕仍然锁定 用户回答问题,如果答案正确,屏幕解锁 我已经为第三步创建了一个活动,并将以下代码添加到其方法中: 这工作正常,完全符合我的期望。我的问题是第四步。我已经搜索并找到了许多解决方案,但没有一个适合我。 如何以编程方式锁定

  • 我试图使一个登录屏幕类似于锁定屏幕与4 TextField。我面临的问题是如何将焦点从一个文本字段切换到下一个文本字段。 当我说时,firstTextField的值被复制到secondTextField 我使用的是十进制键盘类型 } 我如何才能正确地做到这一点,任何帮助和建议请。

  • 我试图做一个自定义锁屏应用程序,但我不确定我是否以正确的方式去做。我有一个广播接收器,当屏幕打开时收听,并开始我的锁屏活动。此接收器注册在服务中,该服务也禁用默认锁定屏幕。 问题是,在屏幕打开和锁屏活动显示之间有一点延迟。我该怎么做才能让它马上出现呢? 我的服务代码: 而接收者: