问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java代码怎么控制android休眠和唤醒?

发布网友 发布时间:2022-04-30 03:45

我来回答

2个回答

热心网友 时间:2023-10-10 05:05

唤醒:android.intent.action.SCREEN_ON (代码)

休眠:android.intent.action.SCREEN_OFF (代码)

android系统一段时间没有操作,

    屏幕(screen)将从高亮(bright)变为暗淡(dim),如果再过段时间还是没有操作,屏幕(screen)从暗淡(dim)变为关闭(off).这时,系统将进入休眠.

    而对于某些需要保持系统唤醒甚至屏幕唤醒的应用(比如视频播放器和音乐播放器)来说,就必须要有一个机制,使得系统不进入休眠状态,设置保持屏幕亮屏状态.

    wakelock即用来实现以上目的

接下来对每一个模块具体分析:


powermanager

    对应文件是android/frameworks/base/core/java/android/os/PowerManager.java


在Android中应用程序并不是直接同PowerManagerService交互的,而是通过PowerManager间接地与PowerManagerService打交道。

    此文件定义了一个powermanager类.

        主要实现了

            1,wakelock的申请与释放

                public WakeLock newWakeLock(int flags, String tag) 

            2,系统延时进入休眠

                public void userActivity(long when, boolean noChangeLights)

            3,系统强制休眠

                public void goToSleep(long time)

            4,屏幕亮度设置

                public void setBacklightBrightness(int brightness)    

            5,屏幕状态查询

                public boolean isScreenOn()

            6,系统重启

                public void reboot(String reason)


    细节

        wakelock的申请与释放

            {@samplecode

                *PowerManager pm = (PowerManager)mContext.getSystemService(

                *                                          Context.POWER_SERVICE);

                *PowerManager.WakeLock wl = pm.newWakeLock(

                *                                      PowerManager.SCREEN_DIM_WAKE_LOCK

                *                                      | PowerManager.ON_AFTER_RELEASE,

                *                                      TAG);

                *wl.acquire();

                * // ...

                *wl.release();

        一共有如下几个flag来进行不一样的唤醒方式.可以根据需要设置

                Flag Value                   CPU     Screen      Keyboard 

                PARTIAL_WAKE_LOCK            On*      can-off      Off 

                SCREEN_DIM_WAKE_LOCK         On       Dim          Off 

                PROXIMITY_SCREEN_OFF_WAKE_LOCK on      距离传感器时关闭  off

                SCREEN_BRIGHT_WAKE_LOCK      On       Bright       Off 

                FULL_WAKE_LOCK               On       Bright       Bright


        ACQUIRE_CAUSES_WAKEUP        确保wakelock,主要用于视频播放器

        ON_AFTER_RELEASE = 0x20000000    release后倒计时,关闭屏幕

        ...


userActivity的作用:

    使系统从其他状态进入全部打开状态,比如从暗屏(dim)切换到亮屏,并重置倒计时计数器

热心网友 时间:2023-10-10 05:05

唤醒:android.intent.action.SCREEN_ON (代码)
休眠:android.intent.action.SCREEN_OFF (代码)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... 名人成功例子 关于名人成功的事例 比较使人进步的例子3个。(最好是名人事例) 历史人物中因相比较而进步的例子 (最好多点) oracle怎样查第二行数据出来 做外贸要什么基础条件,及应从什么开始做起? 简述在oracle数据库中能进行select*from emp查询的基本步骤? 微信给别人留言了,然后再删除,对方还能看到吗?我记得别人给我留言然后删除能看到。。 新手开贸易公司需要什么? 新人在外贸行业创业,第一步怎么拥有 电子表格中怎么办几个表格合并成一个 怎样对好友隐藏按步骤操作了,还是不行。 怎样切水果漂亮好看 ...因为文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文... 新建excel的文件格式和扩展名不匹配 怎么处理? Office365中的Excel新建表格打开后提示xls文件格式和扩展名不匹配,文件可能已损坏或不安全怎么办 excel打开文件显示文件格式和扩展名不匹配。文件可能损坏或不安全,除非你信任其来源,是否仍要打开。 microsoft excel 表格文件格式和扩展名不匹配。文件可能已损坏或不安全。 2013版的excel,打开03版的文件时,总是提示文件格式和扩展名不匹配,文件可能已损坏或不安全 菊花,枸杞,麦冬,陈皮,党参泡茶喝能降火吗? android 如何让手机进入休眠状态,又如何唤 成功只属于强者的作文议论文要有两个名人事例对比600字 android gsensor 休眠震动唤醒功能如何实现 安卓待机应用状态四种模式 怎样让android系统休眠啊,关屏后还一直唤醒着,很耗电 android系统睡眠状态如何唤醒线程和广播 android系统后台唤醒怎么关闭 android 写app没有wakelock为什么还可以使用电量 C++如何实现休眠 定时唤醒 android怎么唤醒正在休眠的cpu android os进程长时间处于“保持唤醒状态”,什么原因? android 多久进入深度睡眠 请教,在android上如何让bluetooth休眠的问题 android怎样在锁屏时唤醒cpu自动联网 android 休眠起来无法唤醒usb Android程序定时上传数据运行一个小时左右就不上传数据了 已经定时点亮屏幕唤醒CPU了 这是android机制的 android系统休眠关闭了哪些功能 5码是多大衣服呀? 童装的5码是多大呀? 小孩衣服5是多少码