1. 程式人生 > >Android應用開發中保持手機螢幕常亮的方法

Android應用開發中保持手機螢幕常亮的方法

如果你開發一個手機App,某一個功能要執行某個操作比較費時,那麼我們的選擇是採用執行緒來做,然後通過一個handler來發送訊息給管理介面的執行緒來重新整理介面。但是時間太長的話,會發現手機螢幕不亮了,儘管你的App沒有退出,但是那個執行的執行緒它也不工作了,除非你按下power鍵,將手機螢幕弄亮,這時你的程式才又接著開始執行。那麼如和讓你的App執行的時候,一直讓手機的螢幕亮著呢?

下面是轉載:http://blog.csdn.net/carterjin/article/details/7571889

我們大家在用手機的時候,會遇到這樣的一個問題,就是想讓我們的手機螢幕一直亮著怎麼辦。大家會想到的是,在手機設定裡有一個不省電模式,選擇這個就可以了,但是我們要在程式碼中是怎麼樣辦那,有兩種方法就可以解決這個問題。

第一種方法:

大家想一想,我們在android裡那個地方老是常定義許可權呀,有了這個提示,大家就會想到是哪個檔案了吧,AndroidManifest.xml:我們要在這個檔案裡定義一下許可權就可以實現我們的手機螢幕保持常亮了。這個方法也是最簡單的一個方法,那麼我們下面就來看看它的程式碼:



Java程式碼:


01.<uses-permission android:name="android.permission.WAKE_LOCK" /> 


01.PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

02.PowerManager.WakeLock mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); 
03.// in onResume() call
04.
05.mWakeLock.acquire(); 
06.// in onPause() call 
07.mWakeLock.release();

我們再在main程式碼中寫上PowerManager.SCREEN_DIM_WAKE_LOCK,這個是我們android系統提供給我們的,我們要把它用上,這句程式碼的意思是長亮的意思,這樣我們就可以實現了,因為我們在上面已經定義了許可權。這樣我們就有權利使用這個長亮屬性。這就是第一種方法。



第二種方法:

第二種我們不怎麼常用,但有的時候我們也能用得到,我們就來講講這第二種方法吧。這種方法我們就在main程式碼中做一個方法,這個方法就是onCreate(Bundle icicle)我們要在括號裡寫上引數,這樣我們才可以用這個引數,我們在super.onCreate(icicle);這個句的意思就是得到引數,我們也就是實現完了,最後我們在找到LayoutParams.FLAG_KEEP_SCREEN_ON這個android系統提供給我們的屬性,這樣我們第二個方法就完事了,這個方法就是不用在AndroidManifest.xml:裡定義許可權了。這樣也不比較麻煩,但有時會把引數給忘了,這個是重點,因為這樣我們也實現不了效果,這麼說的,兩個方法有利有弊,用的時候就要看開發者自己的喜好了,喜好哪個就用哪個。


Java程式碼:


[email protected] 
02.protected void onCreate(Bundle icicle) { 
03.super.onCreate(icicle);
04.
05.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
06.}


補充一下建立鎖時flag的值及意義:


int flags 
各種鎖的型別對CPU 、螢幕、鍵盤的影響:
PARTIAL_WAKE_LOCK :保持CPU 運轉,螢幕和鍵盤燈有可能是關閉的。
SCREEN_DIM_WAKE_LOCK :保持CPU 運轉,允許保持螢幕顯示但有可能是灰的,允許關閉鍵盤燈
SCREEN_BRIGHT_WAKE_LOCK :保持CPU 運轉,允許保持螢幕高亮顯示,允許關閉鍵盤燈

FULL_WAKE_LOCK :保持CPU 運轉,保持螢幕高亮顯示,鍵盤燈也保持亮度

另一個方法:(我沒有試過,試過後再修改本文)

此要加入到setContentview(R.layout.xx)前面。
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

相關推薦

Android應用開發保持手機螢幕方法

如果你開發一個手機App,某一個功能要執行某個操作比較費時,那麼我們的選擇是採用執行緒來做,然後通過一個handler來發送訊息給管理介面的執行緒來重新整理介面。但是時間太長的話,會發現手機螢幕不亮了,儘管你的App沒有退出,但是那個執行的執行緒它也不工作了,除非你按下p

Android應用開發三種常見的圖片壓縮方法

Android應用開發中三種常見的圖片壓縮方法,分別是:質量壓縮法、比例壓縮法(根據路徑獲取圖片並壓縮)和比例壓縮法(根據Bitmap圖片壓縮)。 一、質量壓縮法 private Bitmap compressImage(Bitmap image) { ByteArrayOutput

Android應用開發如何使用隱藏的API

        Android應用中有時為了實現某些特殊的功能或效果,往往需要使用一些谷歌隱藏的API(加有@hide標記的public類、方法或常量),例如PolicyManager。         使用Android隱藏的API主要有兩種辦法:1.利用Java反射機制

Android應用開發的風格和主題(style,themes)

 越來越多網際網路企業都在Android平臺上部署其客戶端,為了提升使用者體驗,這些客戶端都做得佈局合理而且美觀.......Android的Style設計就是提升使用者體驗的關鍵之一。Android上的Style分為了兩個方面: Theme是針對窗體級別的,改變窗體樣式

Android網頁寬度自適應手機螢幕寬度的方法

一、設定網頁寬度自動調整 這個比較簡單,只需要在網頁程式碼的頭部內加入一行viewport元標籤。 <meta name="viewport" content="width=device-w

Unity 讓手機螢幕

void Start () { Screen.sleepTimeout = SleepTimeout.NeverSleep; } 執行時執行一下就好了. Scr

Android實際開發的bug總結與解決方法(三)

使用BitmapFactory.Options設定inSampleSize就可以縮小圖片。屬性值inSampleSize表示縮圖大小為原始圖片大小的幾分之一。如果知道圖片的畫素過大,就可以對其進行縮小。 那麼如何才知道圖片過大呢? 方法是:使用BitmapFactory.Options設定inJust

AIR 開發 Android 應用儲存螢幕方法

//在釋出air for android 的設定面板中勾選 WAKE_LOCK 許可權 NativeApplication.nativeApplication.addEventListener(Eve

Android檢測手機鎖屏以及保持螢幕

//保持手機常亮並解鎖 private void wakeAndUnlock() { //獲取電源管理器物件 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);

.Net語言 APP開發平臺——Smobiler學習日誌:在手機應用開發如何實現跳轉地圖

demo hand 操作 窗體 clas com ps1 ati void 一、目標樣式 我們要實現上圖中的效果,需要如下的操作: 二、跳轉地圖代碼 VB: Private Sub Button1_Click(sender As Object, e As Ev

Android保持螢幕的三種方式

方式一: 1.新增許可權 <uses-permission android:name="android.permission.WAKE_LOCK"/> 2.獲取PowerManager物件 3.通過PoverManager物件獲取螢幕鎖WakeL

Android保持螢幕喚醒狀態

在開發過程中有時會用到保持螢幕常亮,主要用電源控制來實現,具體實現如下: 第一步:  首先新增許可權: <uses-permission android:name="android.permiss

Xamarin.Android 開發遇到旋轉螢幕錯誤

錯誤資訊 : System.NotSupportedException: Unable to find the default constructor on type App5.MyFragment.  Please provide the missing constructor. 錯誤圖片:

Android,如何使螢幕的問題

前言: 有時候,我們的應用需要長時間工作,然後在工作期間又不希望手機每隔一段時間就自動變暗,那麼, 在我們應用執行期間,我們可以設定手機狀態為常亮狀態 方法一:xml配置 在res/values/style.xml中新增一個style,如下: <!--

Android 保持螢幕和禁止截圖

保持螢幕常亮 防止手機自動鎖屏,只需要在 Activity 的生命週期 onCreate() 方法中新增一行程式碼即可。 具體程式碼如下: getWindow().addFlags(WindowManager.LayoutParams.FLAG_K

Android 開發技巧之 禁止截圖和螢幕

1 禁止截圖         出於安全考慮,我們需要對某些介面,比如二維碼介面,登入介面禁止截圖。(像支付寶的付款二維碼)   禁止截圖的程式碼很簡單就一行,在Activity 生命初期的onCre

android 保持螢幕和喚醒螢幕的方式

一、引言 Android開發中會用到將應用的螢幕保持常亮,比如播放視訊、音樂等,如果總是使用者去觸控式螢幕幕來保持螢幕常亮,那麼使用者體驗會很差; 二、實現方式 通過設定Window Flag(最簡單,推薦) 通過PowerManager 第一種方式:

Android保持螢幕的幾種方法

前兩種方法的佈局檔案 預設的生成佈局,主要功能在程式碼上。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com

妙用View的keepScreenOn保持螢幕android螢幕

①通過PowerManager.WakeLock實現: step 1:獲得系統PowerManager物件,接著通過newWakeLock方法,建立WakeLock例項 step 2:為了不影響其他app,我們通常把保持常亮方法onResume()方法中,而把取消常亮

Android如何保持程式一直執行 (讓螢幕且停在當前程式介面)

在正常情況下,Android系統會讓程式和服務進入休眠狀態以節約電量使用。然而在開發Android程式時,有時候在程式執行的時候,不能讓系統休眠,否則有一些執行會停止,因此我們需要設定禁止休眠。 Android中設定禁止休眠有兩種方式: 1. 在View中設定FLA