欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android亮屏和熄屏控制實(shí)例詳解

 更新時(shí)間:2016年02月24日 10:52:48   作者:炫_愛羊  
這篇文章主要介紹了Android亮屏和熄屏控制的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android亮屏與息屏的原理,實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Android亮屏和熄屏控制實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

一、概述

我們的Android應(yīng)用程序很多需要和亮屏和熄屏打交道,比如鬧鐘的時(shí)候,需要保持亮屏,之后又需要熄屏。那么今天,我們來分析下這方面的功能。

二.  系統(tǒng)服務(wù) PowerManager.java

顧名思義,PowerManager.java就是管理我們電源方面的功能的,當(dāng)然也包括我們屏幕的亮和熄滅。沒錯(cuò),我們的應(yīng)用程序就是通過這個(gè)系統(tǒng)服務(wù)來實(shí)現(xiàn)亮屏和熄屏的功能的。

1.  應(yīng)用程序獲取PowerManager服務(wù), 我們可以這樣書寫:

復(fù)制代碼 代碼如下:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

因?yàn)镻owerManager是系統(tǒng)服務(wù),所以它的生命周期不是應(yīng)用程序所能控制的;應(yīng)用程序只能通過系統(tǒng),向系統(tǒng)請求獲取PowerManager服務(wù),然后系統(tǒng)把這個(gè)服務(wù)的應(yīng)用給我們。

2.  goToSleep()方法, 這個(gè)方法可以強(qiáng)制我們的屏幕熄屏。我們可以這樣調(diào)用:
在上面拿到pm對象之后,這樣調(diào)用

pm.goToSleep(SystemClock.uptimeMillis());

3.  setBacklightBrightness()方法,這個(gè)方法可以設(shè)置背光的亮度,從0-255

三.  定時(shí)熄滅屏幕

那么這里,還可以介紹一個(gè)控制屏幕的方法就是PowerManager.WakeLock
顧名思義,WakeLock這個(gè)東西就是亮屏控制,這里說的亮屏,它定義了幾種類型的亮屏。如下:

類型 cpu 屏幕 鍵盤
PARTIAL_WAKE_LOCK on off off
SCREEN_DIM_WAKE_LOCK on dim off
SCREEN_BRIGHT_WAKE_LOCK on Bright off
FULL_WAKE_LOCK on Bright Bright

由于它定義了這么多類型,每種類型可以指定相對應(yīng)的部件工作和不工作。那么我們就可以利用這些類型,從最細(xì)粒度來控制我們的屏幕,控制我們的電源,從而讓我們的電源工作時(shí)間盡可能的延長(大家都知道,智能手機(jī)的電池問題是一個(gè)硬傷, 每天一充電,有木有? 別人說用安卓手機(jī)的男人都是顧家好男人,因?yàn)樗刻焱砩隙家丶页潆?。。^^).

好的,好的,閑話不扯,繼續(xù)。。。

怎么使用這個(gè)WakeLock呢?我們可以這樣寫:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();
//做我們的工作,在這個(gè)階段,我們的屏幕會持續(xù)點(diǎn)亮
//釋放鎖,屏幕熄滅。
wl.release();

那么這里我們也可以這樣使用,就是多少時(shí)間后熄滅屏幕
首先點(diǎn)亮屏幕

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "TAG");
wakeLock.acquire();

然后

mTimeHandler.postDelayed(new Runnable(){
    public void run(){
      wakeLock.release();
    }
}, 10*1000);

嗯,延遲10s后熄滅屏幕。。。。

那么,這里要注意的是acquire()和release()要成對調(diào)用哦!也就是說,你申請了亮屏,過段時(shí)間,你要是釋放它。

更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)

希望本文所述對大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論