Android 保持屏幕常亮的幾種方法

一瘪吏、前言

在實際開發(fā)的過程中,會有一些需要保持屏幕常亮舵抹,避免進入鎖屏狀態(tài)的需求肪虎。最常見的就是視頻播放的過程中,如果屏幕突然暗了惧蛹,或者直接鎖屏扇救,會非常的影響用戶的體驗。

本篇文章就對 Android 下香嗓,如何保持屏幕常量迅腔,做一個簡單的記錄和總結(jié)。

二靠娱、幾種常見的方法

1沧烈、WakeLock

使用 WakeLock 是一種教科書式的比較常規(guī)的手段,使用起來也非常的簡單像云。

可以看到锌雀,WakeLock 主要是通過 PowerManager 獲取蚂夕,然后通過acquire()方法獲取一個 WakeLock 資源,WakeLock 也是一種資源腋逆,在使用完成之后婿牍,別忘了調(diào)用release()方法進行釋放。

使用 WakeLock 還需要額外的聲明 WAKE_LOCK 權(quán)限惩歉。

當然等脂,使用 WakeLock 暫時來看,應(yīng)該還是沒有什么問題的撑蚌。但是實際上上遥,所有和屏幕亮度相關(guān)的 WakeLock 的 Flag ,在 API level 17+ 之上争涌,都已經(jīng)被標記廢棄了粉楚。可以看出 Android 在節(jié)能上做了很多努力第煮,屏幕是費電大戶解幼,既然已經(jīng)被廢棄掉了,正常來說包警,我們還是不推薦使用的撵摆。

更多和 PowerManager.WakeLock 相關(guān)的內(nèi)容,可以看看之前的一篇文章《PowerManager 不是只有 WakeLock 》害晦。

2特铝、FLAG_KEEP_SCREEN_ON

前面說了,WakeLock 已經(jīng)被標記廢棄壹瘟。雖然被廢棄了鲫剿,但是實際上 Android 還是給我們提供了對應(yīng)的解決方案的,那就是使用FLAG_KEEP_SCREEN_ON的方式來標記屏幕常亮稻轨。

FLAG_KEEP_SCREEN_ON 使用起來也非常的簡單灵莲,它是一個頁面 Window 上的一個 Flag ,使用addFlags()方法添加殴俱。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

當然政冻,這里使用完成之后,也是需要取消掉的线欲。取消這個 Flag 使用clearFlags()方法來取消明场。

getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

通常我們會在一個 Activity 的onResume()和onPause()方法中,分別調(diào)用這兩個方法李丰。

看看 FLAG_KEEP_SCREEN_ON 的文檔解釋苦锨。

從這里可以看出來,它只作用在一個被顯示的 Window 上,并且保持設(shè)備屏幕高亮度的常亮舟舒。

其實這里也可以看出來拉庶,官方廢棄 WakeLock 而推薦使用 FLAG_KEEP_SCREEN_ON ,一部分原因在于 WakeLock 是一個全局的資源魏蔗,而 FLAG_KEEP_SCREEN_ON 只是一個和 window 相關(guān)的資源砍的,作用范圍更小了一些痹筛。并且它比 WakeLock 更好的一點在于莺治,它不需要額外的申請權(quán)限,一般來說帚稠,我們還是推薦使用它的谣旁。

3、keepScreenOn

除了給 Window 添加一個 FLAG_KEEP_SCREEN_ON 的 Flag 之外滋早,還可以對當前可見的 View 調(diào)用 keepScreenOn() 方法來設(shè)置屏幕常亮榄审。

keepScreenOn() 是 View 對象上的方法,同時也提供了布局中的屬性android:keepScreenOn來方便我們在布局中對其進行設(shè)置杆麸。

需要注意的一點搁进,使用 keepScreenOn() 設(shè)置的常亮標識,需要當前 View 保持屏幕可見才行昔头。所以一般而言饼问,我們會在頁面的根布局中,添加此屬性揭斧。

通過文檔可以看到莱革,實際上它的原理和 FLAG_KEEP_SCREEN_ON 一樣的,只是它更簡單讹开,只需要對某個 View 設(shè)置盅视,如果該 View 可見即生效,否者就不生效旦万。

4闹击、MediaPlayer的 setScreenOnWhilePlaying()

如果我們是使用一個 MediaPlayer 來進行視頻播放的話,MediaPlayer 還提供了setScreenOnWhilePlaying()方法成艘,來設(shè)置屏幕常量赏半。

其實沒什么好說的,繼續(xù)查看源碼可以看到其實最終調(diào)用的還是keepScreenOn()方法狰腌。當然多了解一種方法也沒有什么壞處除破。

三、小結(jié)

保持屏幕常亮的方式有很多琼腔,選用我們需要的即可瑰枫。當然,最好還是不要使用 WakeLock 了,比較已經(jīng)被標記為廢棄了光坝。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尸诽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子盯另,更是在濱河造成了極大的恐慌性含,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸳惯,死亡現(xiàn)場離奇詭異商蕴,居然都是意外死亡,警方通過查閱死者的電腦和手機芝发,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門绪商,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辅鲸,你說我怎么就攤上這事格郁。” “怎么了独悴?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵例书,是天一觀的道長。 經(jīng)常有香客問我刻炒,道長决采,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任落蝙,我火速辦了婚禮织狐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘筏勒。我一直安慰自己移迫,他們只是感情好,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布管行。 她就那樣靜靜地躺著厨埋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪捐顷。 梳的紋絲不亂的頭發(fā)上荡陷,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音迅涮,去河邊找鬼废赞。 笑死,一個胖子當著我的面吹牛叮姑,可吹牛的內(nèi)容都是我干的唉地。 我是一名探鬼主播据悔,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耘沼!你這毒婦竟也來了极颓?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤群嗤,失蹤者是張志新(化名)和其女友劉穎菠隆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狂秘,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡骇径,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赃绊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片既峡。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖碧查,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情校仑,我是刑警寧澤忠售,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站迄沫,受9級特大地震影響稻扬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜羊瘩,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一泰佳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧尘吗,春花似錦逝她、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至擒贸,卻和暖如春臀晃,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背介劫。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工徽惋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人座韵。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓险绘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子隆圆,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 版權(quán)聲明:本賬號發(fā)布文章均來自公眾號漱挚,承香墨影(cxmyDev),版權(quán)歸承香墨影所有渺氧。未經(jīng)允許旨涝,不得轉(zhuǎn)載。 一侣背、前...
    承香墨影閱讀 14,462評論 0 16
  • 生活總是讓我們遍體鱗傷白华,但到后來,那些受傷的地方一定會變成我們最強壯的地方贩耐。---海明威 WakeLock是什么 ...
    小草凡閱讀 29,435評論 2 18
  • afinalAfinal是一個android的ioc弧腥,orm框架 https://github.com/yangf...
    passiontim閱讀 15,401評論 2 45
  • 2017年4月6日 星期四 晴天 今天晚上我本來是要去廣場上交朋友,和新...
    晨晨_d5f3閱讀 216評論 1 2
  • 《如水的蟋蟀唱》 ——作者:陸陳蔚 忽然驚醒 很多報時: 后陳營路上的掃帚聲 雞啼應(yīng)在中原路 清晨浸冷 如...
    陸陳蔚閱讀 145評論 0 1