1. 程式人生 > >Android程式主動點亮&解鎖螢幕的實現

Android程式主動點亮&解鎖螢幕的實現

在android開發中,經常會遇到一些情形需要程式主動維持螢幕的點亮狀態,或者自己點亮螢幕並且解除螢幕鎖定狀態,這時可以用下面的方法予以解決。

情形一:類似於閱讀軟體,在閱讀過程中忽視系統的螢幕超時設定保持螢幕長亮。可以直接

在 onCreat() 方法中加上下面一句:

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

情形二:類似於鬧鐘,在鎖屏狀態下點亮螢幕。方法如下:

在AndroidManifest.xml中加上permission 許可權:

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

在onCreat() 方法中新增以下語句:

//電源管理器

PowerManagerpm = (PowerManager)getSystemService(POWER_SERVICE);

WakeLockmWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_DIM_WAKE_LOCK,"SimpleTimer");

flags引數說明:

PARTIAL_WAKE_LOCK: Screen off, keyboardlight off 

SCREEN_DIM_WAKE_LOCK: screen dim, keyboardlight off 

SCREEN_BRIGHT_WAKE_LOCK: screen bright,keyboard light off 

FULL_WAKE_LOCK: screen bright, keyboardbright

ACQUIRE_CAUSES_WAKEUP:當獲得WAKE_LOCK時強制立即點亮螢幕和鍵盤

ON_AFTER_RELEASE:釋放鎖時重置activity timer

過載Avtivity的onResume()和onDestroy方法:

@Override

protectedvoid onResume() {

// TODOAuto-generated method stub

super.onResume();

mWakeLock.acquire();//點亮

}

@Override

protectedvoid onDestroy() {

// TODOAuto-generated method stub

mWakeLock.release();//關閉

super.onDestroy();

}

情形三:類似於來電,有時程式不僅僅需要主動點亮螢幕還需要解除螢幕的鎖定狀態。此時可以在情形二的基礎上增添以下的程式碼:

在AndroidManifest.xml中加上permission 許可權:

<uses-permissionandroid:name="android.permission.DISABLE_KEYGUARD" />

增加解除螢幕鎖定的語句:

//鍵盤鎖管理器物件  

KeyguardManager km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);  

 //這裡引數”unLock”作為除錯時LogCat中的Tag

KeyguardLockkl = km.newKeyguardLock("unLock");   

kl.disableKeyguard();  //解鎖

相關推薦

Android程式主動&螢幕實現

在android開發中,經常會遇到一些情形需要程式主動維持螢幕的點亮狀態,或者自己點亮螢幕並且解除螢幕鎖定狀態,這時可以用下面的方法予以解決。 情形一:類似於閱讀軟體,在閱讀過程中忽視系統的螢幕超時設定保持螢幕長亮。可以直接 在 onCreat() 方法中加上下面一句:

Android監聽螢幕廣播

目的:使用者解鎖螢幕開啟程式 public class ActionReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent)

【LOJ】#2536. 「CQOI2018」螢幕

題解 什麼破題,看一眼就能想出來\(n^2 2^n\)看了一眼資料範圍有點虛,結果跑得飛快= = 處理出\(a[i][j]\)表示從\(i\)到\(j\)經過的點的點集 然後\(f[i][S]\)表示最後一個點在\(i\)處,經過的點集為\(S\),方案數是多少 然後列舉一個不在\(S\)中的點\(j\

[LeetCode] Android Unlock Patterns 安卓模式

Given an Android 3x3 key lock screen and two integers m and n, where 1 ≤ m ≤ n ≤ 9, count the total number of unlock patterns of the Android lock screen,

安卓自動化工具:螢幕+開啟支付寶螞蟻森林+收取能量+種樹澆水+自動退出

安卓自動化工具:解鎖螢幕+開啟支付寶螞蟻森林+收取能量+種樹澆水+自動退出   一、實現方法 Tasker(定時任務,啟動各個部件)+Auto.js(指令碼解鎖螢幕)+Autoinput(模擬點選螢幕)+VirtualXposed(收集能量,遍歷好友) 參考案例(感謝兩位大

【[CQOI2018]螢幕

狀壓這個東西好像沒有什麼能優化的高階東西,像什麼斜率優化,單調佇列在狀壓的優化上都很少見 而最常見的狀壓優化就是預處理優化了, 這道題就預處理一下所有點對之間連線上的點,之後壓成狀態就能做到\(O(2^n*n^2)\) 這道題的狀態就非常簡單了,就是一個小學生狀壓\(dp[i][S]\)狀態為\(S\)

關於centos7.0登陸介面閃爍無法登陸(類似一直在按鈕)

最近一直在使用centos 開發定製openwrt系統,在開發過程中遇到了centos的坑,先就遇到的問題彙總,希望能夠幫到linux友人 1.centos7初始時沒有使能網路,您需要修改vi /etc/sysconfig/network-script/ifcfg-enxx

Android開發底部選按鈕從螢幕底部滑出面板(一)

最近需要實現一個類似百度地圖搜尋美食上滑彈出一個覆蓋面板。網上也有很多的開源專案像 [Android Sliding Up Panel] Android的Android Support Library 23.2裡的 Design Support Libra

Android實戰——RxJava2+Retrofit+RxBinding各種新姿勢

本文已授權微信公眾號:鴻洋(hongyangAndroid)原創首發。 前言 作為主流的第三方框架Rx系列,不學習也不行啊,對於初學者來說,可能RxJava看起來很難,用起來更難,但是你要知道,越複雜的東西往往能解決越複雜的問題,有可能你應用在

[原始碼]Android安卓應用手勢圖案實現

互動細節 使用者首先使用賬號/密碼進行登入。 登入成功後,判斷是否是第一次登入使用,如果是第一次則顯示建立手勢密碼的介面,要求使用者建立手勢鎖。 建立的過程中要求使用者連線至少四個點,並且繪製兩次以確認繪製正確並記住繪製的路徑。確認成功後進入APP首頁。 使

【記錄】STM32學習之第一個程式LED)

STM32學習之第一個程式(點亮LED) 開發板:Nucelo L053R8 芯 片:STM32L053R8 軟 件:IAR for ARM 7.4, STM32CubeL0 程式碼示例

iOS 關於TouchID指紋實現

zip tails 其他 errors 上下 三次 imp event 開發   一直想玩玩指紋解鎖,近期時間比較閑,就研究了一下這個指紋解鎖。這個功能實現起來還是很簡單的,雖然看起來比較高大上,但是對於開發來說,越是高大上的東西一般都有封裝好的,我們只需要調用就可以實現相

android studio 通過左滑右滑螢幕實現介面跳轉

[原始碼下載]https://download.csdn.net/download/weixin_42415553/10826919 巨集觀來說;我要實現四個介面的跳轉name就需要四個類 分別繼`承Fragment 在這四個類中分別重寫onCreateView,新增如下程式碼 Vie

Android 單個TextView 選“顯示全部”功能實現方法

網上很多TextView的“顯示全部”,“顯示更多”的方案實現都是兩個TextView,一個在上面顯示內容,一個在下面用來點選。但是我在實際工作中遇到的需求是“顯示全部”提示要內聯在原文的後面,使用一個TextView進行顯示,不能放在原文的下面,下面把程式碼貼一下,主要實

Android屏狀態下螢幕並彈窗提醒

類似於手機鎖屏狀態下QQ來訊息然後點亮螢幕並彈窗,如圖。 相信QQ的這個功能大家都是很熟悉的了,下面就開始講具體的實現步驟。 一、新建一個Activity並在OnCreate中新增四個標識 @Override protected

實現:編輯短信,按power鍵屏後,再屏幕,進入的還是編輯短信界面,按返回鍵才會進入界面。

亮屏 ram flags you creat att msu con sim 描寫敘述:在編輯短信界面按電源鍵鎖屏後,又一次按電源鍵點亮屏幕。並沒有進入到鎖屏界面而是在編輯短信界面。此時短信界面懸浮與鎖屏界面之上。這時按返回鍵關閉編輯短信界面。回到鎖屏界面,是怎樣實

Android通知欄訊息、螢幕、震動、聲音、顯示樣式

這是一篇關於 Android 通知欄的記錄。包括:通知欄訊息、點亮螢幕、震動、聲音、顯示樣式等。下面是簡單的效果圖:    下面主要講的是: AndroidManifest 的許可權配置 靜態常量類 Constant MainActivity 主要程式碼:設

Android getWindow().setFlags方法 設定窗體全屏背景模糊 &&WindowManager.LayoutParams詳

//設定窗體全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutP

android屏、暗屏、、關閉系統對話的監聽事件

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.butt

android之PowerManager 與電源管理,解決滅屏狀態下來簡訊螢幕不會問題

  可解決滅屏狀態下來簡訊螢幕不會點亮問題    PowerManager這個類主要是用來控制電源狀態的. 通過使用該類提供的api可以控制電池的待機時間,一般情況下不要使用。如果確實需要使用,那