生活随笔
收集整理的這篇文章主要介紹了
android 4.2以上版本永不休眠
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android4.2以上版本比android4.2以前的版本framework層框架部分有了很大的改變,androd4.2以前版本framework層給上的接口函數與android4.2以上版本的接口函數也有了些變化,以前讓機器永不休眠的方法用在android4.2以上版本已經不起作用了。現將android4.2以上版本修改永不休眠的方法記錄下來。
首先還是要修改defaults.xml文件里def_screen_off_timeout的值。
1. ?修改default值,不自動休眠
? ? ? /frameworks/base/packages/SettingsProvider/res/values/defaults.xml
? ? ? 修改def_screen_off_timeout為-1
2.修改PowerManagerService.java文件getScreenOffTimeoutLocked()函數
? 修改前:
[html] view plaincopy
private?int?getScreenOffTimeoutLocked()?{??????????int?timeout?=?mScreenOffTimeoutSetting;??????????if?(isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked())?{??????????????timeout?=?Math.min(timeout,?mMaximumScreenOffTimeoutFromDeviceAdmin);??????????}??????????if?(mUserActivityTimeoutOverrideFromWindowManager?>=?0)?{??????????????timeout?=?(int)Math.min(timeout,?mUserActivityTimeoutOverrideFromWindowManager);??????????}???????????????????return?Math.max(timeout,?MINIMUM_SCREEN_OFF_TIMEOUT);??????}??
修改后:
[html] view plaincopy
int?nosleep;??int?timeout?=?mScreenOffTimeoutSetting;??if?(isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked())?{??????timeout?=?Math.min(timeout,?mMaximumScreenOffTimeoutFromDeviceAdmin);??}??if?(mUserActivityTimeoutOverrideFromWindowManager?>=?0)?{??????timeout?=?(int)Math.min(timeout,?mUserActivityTimeoutOverrideFromWindowManager);??}??nosleep?=?mScreenOffTimeoutSetting;??if(nosleep??<?0)??{??????nosleep?=?mMaximumScreenOffTimeoutFromDeviceAdmin?;??????return?Math.max(nosleep,?mMaximumScreenOffTimeoutFromDeviceAdmin);??}??return?Math.max(timeout,?MINIMUM_SCREEN_OFF_TIMEOUT);??
修改后就不會休眠了。可能還有其它方法讓其用不休眠,有興趣的人可以在看看源碼找著看。
總結
以上是生活随笔為你收集整理的android 4.2以上版本永不休眠的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。