HarmonyOS 鸿蒙Next如何控制页面不息屏?

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何控制页面不息屏? 我写了个相机->编码->封装的demo,相机生产,编码的surface和xcomponent的surface双路消费。双路预览的函数是在Xcomponent的onload方法被调起的。不息屏的时候,这个demo是正常工作的。录制过程中,自动息屏后,再重新解锁点亮屏幕,xcomponent上的画面就卡住了。

想问arkts里有没有方法,在进行某个业务时,使屏幕保持常亮?类似我们平时用安卓播放视频一样,播放视频的时候,不息屏?

9 回复
scss
windowStage.getMainWindowSync().setWindowKeepScreenOn(true)
应该可以吧

更多关于HarmonyOS 鸿蒙Next如何控制页面不息屏?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢分享,能行,

666,

基本信息

  • 姓名: 张三
  • 年龄: 28
  • 职业: 软件工程师

深色代码主题

def hello_world():
    print("Hello, world!")

可参考文档:setWindowKeepScreenOn9+,该接口用于设置屏幕是否常亮。

关注一下解决了踢我

你这个是c++封装的?如果是,通过native调用ets 的方法,里面实现对window的常亮呗。

这个我觉得很可能不会提供专门的调用在c层,得自己绕下了。

在HarmonyOS鸿蒙Next中,控制页面不息屏可以通过设置页面的保持屏幕常亮属性来实现。具体步骤如下:

  1. 使用setKeepScreenOn方法:在页面的onPageShow生命周期方法中,调用setKeepScreenOn(true)来保持屏幕常亮。示例代码如下:

    onPageShow() {
        this.setKeepScreenOn(true);
    }
  2. 取消常亮设置:在页面的onPageHide生命周期方法中,调用setKeepScreenOn(false)来取消屏幕常亮设置,以避免在其他页面或应用时继续消耗电量。示例代码如下:

    onPageHide() {
        this.setKeepScreenOn(false);
    }
  3. 配置文件设置:在页面的page.json配置文件中,确保页面的keepScreenOn属性设置为true,以支持页面级别的屏幕常亮设置。

    {
        "page": {
            "keepScreenOn": true
        }
    }

通过以上方法,可以在HarmonyOS鸿蒙Next中实现页面不息屏的效果。

在HarmonyOS鸿蒙Next中,可以通过设置keepScreenOn属性来控制页面不息屏。在XML布局文件中,为需要保持屏幕常亮的组件添加ohos:keep_screen_on="true"属性,或在代码中使用setKeepScreenOn(true)方法。例如:

<Text
    ohos:id="$+id:myText"
    ohos:width="match_parent"
    ohos:height="match_content"
    ohos:keep_screen_on="true"
    ohos:text="屏幕常亮"/>

Text text = (Text) findComponentById(ResourceTable.Id_myText);
text.setKeepScreenOn(true);

这样,屏幕将保持常亮状态,直到页面关闭或手动关闭该设置。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!