android禁止休眠
⑴ android设置屏幕禁止休眠
休眠,也就是手机自动关闭关闭屏幕最多可以延长至30分钟(在设置-显示-屏幕超时设置即可)。
如果不通过按键解锁,可以用第三方软件进行解锁唤醒,例如光感解锁和距离感应解锁,当然,也可以使用AddinTimer定时解锁(设置下循环定时即可不关闭屏幕)。
⑵ 【Android休眠】之Android休眠机制
休眠,简而言之就是设备在不需要工作的时候把一些部件、外设关掉(掉电或让它进入低功耗模式)。
为什么要休眠呢?一言以蔽之:省电。
休眠分主动休眠和被动休眠。主动休眠:比如我电脑不用了,就通过设置让系统进入休眠模式;被动休眠:系统检测到自己闲的慌,为了节约故,自己就休眠去了。
休眠是内核的核心工作,而Android是基于Linux内核的,所以Android休眠和内核有着千丝万缕的联系;由于Android的特殊应用场景:移动设备,所以Android休眠和内核又有着特别的需求。
1、联系:
Android设备停止使用,系统没有什么事情可做,进入休眠状态的功能最终是由内核去实现的;每一类硬件都有自己的驱动,具体的驱动决定怎么进入休眠以及处于何种层次的休眠。比如:对于platform_device,就按照platform_driver定义的规则,在suspend调用的时候,去做上面提到的事情:
2、Android的特别需求:
比如对于自己的电脑,不用让它休眠好了;但是对于我们形影不离的手机,在休眠的时候还要睁一只眼:来电了要通知你,QQ啊微信啊什么的由信息了也要通知你,所以Android在Linux内核休眠机制之上,提出了“Opportunistic Suspend”。
絮絮叨叨这么多,下面让我们切切实实体验下休眠。
1、休眠模式
休眠是分好几种模式的,不同模式实现方式、耗电量不同,以下来自Documentation/power/states.txt:
虽说kernel支持上述四种休眠模式,但具体哪几种可用取决于你的硬件。那么怎么知道自己的Android设备支持的休眠模式呢?
答案:通过/sys/文件系统。查询支持的休眠模式可以cat文件/sys/power/state:
如果我们往/sys/power/state文件echo上面的某一种模式的字符串,系统就会进入相应的休眠模式:
如果你搜索过Android休眠相关的内容,在老版本的Android(4.4版本之前)会见有提到PowerManager的setPowerState()方法,该方法即是通过以上方式使系统进入休眠。但自从引入Autosleep后,就不在这么做了,setPowerState()方法也销声匿迹。
2、/sys/power/目录下文件
文件简介:
1、Android设备屏幕暗下来的时候,并不是立即就进入了休眠模式;当所有唤醒源都处于de-avtive状态后,系统才会进入休眠。
2、Android设备连着adb线到其他设备的情况下,设备是不会进入休眠模式的。
3、有休眠操作就有唤醒,就需要唤醒源。唤醒源有很多种,在内核注册,比如常用的Power按键。
4、曾经困惑的一个问题:系统怎么知道自己应该进入休眠模式了?它的判断依据是什么?
在wakelock时代,系统休眠过程中去检测休眠锁;如果系统中没有其他部件持有休眠锁,就尝试进入休眠模式,没有异常事件发生的话就进入休眠模式。
Android从4.4开始使用autosleep机制,只要不存在任何active的唤醒源(wakeup_source)了,就进入休眠模式。
5、系统Power Manager整体流程
⑶ android关闭屏幕 但不进入休眠
android关闭屏幕但不进入休眠应该是系统出现故障,解决方法为:
1、在专业人士的指导下进行刷机,具体步骤为:
a、打开“刷机助手”官方网站,在页面中下载刷机助手。下载完成后安装并启动刷机助手。
b、用手机原装数据线将手机与电脑相连接,然后等待刷机助手完成初始化工作。待刷机助手成功识别手机后,可以点击“一键刷机”按钮开始刷机。
c、点击“浏览”按钮选择之前下载的刷机包,若没有下载可以使用刷机助手市场下载ROM包。选择手机对应的型号开始下载ROM。
d、选择刷机包后点击“下一步”按钮备份手机数据,以免数据丢失。备份开始前,在手机中允许刷机助手读取短信、联系人等记录。然后点击“刷机”按钮开始备份并刷机,慢慢等待刷机完成。
2、联系手机维修人员,对手机进行维修。
⑷ android 如何禁止系统休眠
使用如下代码即可:
PowerManagerpm=
(PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock=pm.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK,"SoundRecorder");
mWakeLock.acquire();
看错,原来不是指APP啊
⑸ 如何使android手机锁屏但是不进入休眠状态
三星手机一般建议进行以下操作:
1.查看您的机器是否开启了智能休眠功能。
2.检查手机背景灯时长,选择最短时间尝试。
3.点击电源键观察是否可以锁屏。
4.检查是否使用了第三方主题软件。若有安装,建议卸载删除。
5.将近期安装的软件卸载删除。
6.请备份手机中数据(联系人,短信,图片等),然后恢复出厂设置。
若问题依然存在,请您携带购机发票、包修卡和机器送到三星服务中心,由专业的售后工程师帮助检测。
⑹ 如何控制android 设备休眠 ,禁用休眠,设置等待时间
到设置~显示~休眠下选择合适的时间甚至取消休眠。
⑺ 怎样让android系统休眠啊,关屏后还一直唤醒着,很耗电
让android系统休眠,关屏后还一直唤醒着,很耗电的解决办法如下:
系统运行的时候有很多软件后台运行着,可以卸载一些不常用的软件,来减低系统的负荷。
可以将系统屏幕关闭时间减少,来减少屏幕开启时间过长,打开手机设置,点击显示,找到屏幕自动关闭选项,将时间设置到最低。
⑻ 如何使用Android防止休眠权限
实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位。具体如下:
1、在AndroidManifest.xml文件里面用user-permission声明。代码如下:
< uses-permission android:name=”android.permission.WAKE_LOCK” >
这种方法,在安装apk时,系统会提示安装人是否允许使用禁止休眠功能。
2、在程序中用代码实现。代码如下:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
把这段代码加在setContentView(R.layout.main)之前即可
这种方法,安装时,不会提示安装人是否允许使用禁止休眠功能
⑼ 如何让android系统禁止休眠
在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠,有两种方式:一种是添加权限,别一种是代码中设置,建议使用第一种方式,这样,在安装程序的时候会进行提醒:
第一种方式:
在Manifest.xml文件里面用user-permission声明
名称为:android.permission.WAKE_LOCK
第二种方式:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
把这段代码加在setContentView(R.layout.main)之前即可
⑽ Android11 setting中增加永不息屏
首先修改android:entries和 android:entryValues属性。默认的是screen_timeout_entries和screen_timeout_values,是没有永不息屏的选项的,但是array有定义dream_timeout_entries和dream_timeout_values,这里有永不息屏。
修改后如下。
但是这样只是setting中对应的dialog界面会增加never这个选项,如果选择never的话,还是会息屏。never对应的时间是0.
我尝试在PowerManagerService增加判断,这里虽然可以实现永不息屏,但是会导致新的问题,锁屏后无法亮屏。
具体如下(这样修改在Android11中会导致新的问题)。
最终修改如下。
1.给 mHandler.postDelayed(mScreenLockTimeout, mLockScreenTimeout); 加个判断。
2.修改中部分逻辑,增加判断条件。
最终如下。
参考链接:
展讯平台记录下工作中一些修改
Android7.1 Settings加入永不休眠选项
安卓7.0显示设置界面休眠菜单添加“永不灭屏”选项
android设置永不灭屏