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設置永不滅屏