妙用View的keepScreenOn保持螢幕常亮,android螢幕常亮
①通過PowerManager.WakeLock實現:
step 1:獲得系統PowerManager物件,接著通過newWakeLock方法,建立WakeLock例項
step 2:為了不影響其他app,我們通常把保持常亮方法onResume()方法中,而把取消常亮
方法放到onPause()方法中
step 3:還需要在AndroidManifest.xml檔案中新增許可權,另外安裝的時候會提示,是否允許
使用禁止休眠功能!許可權如下:
<uses-permission android:name="android.permission.WAKE_LOCK" />
簡單使用程式碼如下:
//獲得系統POWER_SERVICE物件 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); //通過newWakeLock()方法建立WakeLock例項 PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "這裡隨便你寫,一個TAG而已"); //最好是放到onReusme方法呼叫 wl.acquire(); //最好是放到onPause方法呼叫
wl.release();
對於newWakeLock的第一個引數,有以下選擇:
PARTIAL_WAKE_LOCK:保持CPU 運轉,螢幕和鍵盤燈有可能是關閉的。 SCREEN_DIM_WAKE_LOCK:保持CPU 運轉,允許保持螢幕顯示但有可能是灰的,允許關閉鍵盤燈 SCREEN_BRIGHT_WAKE_LOCK:保持CPU 運轉,允許保持螢幕高亮顯示,允許關閉鍵盤燈 FULL_WAKE_LOCK:保持CPU 運轉,保持螢幕高亮顯示,鍵盤燈也保持亮度
②直接通過getWindow().addFlags實現
這個的話就比較簡單了,哪個activity要用,就在onCreate()方法中新增下面的程式碼:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
而且不需要新增許可權,網上很多都是坑,只有設定常亮,怎麼關都不說,越來越發現谷哥比度娘好用了!
addFlags( )直譯新增標記,那麼,要取消常亮不就只需要我們清除標記麼,所以只需要把addFlags改為
clearFlags( )即可!參考程式碼如下:
package com.jay.example.keepscreenondemo; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; import android.widget.Button; public class MainActivity extends Activity { private Button btnclose; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnclose = (Button) findViewById(R.id.btnclose); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); //點選按鈕後,清除標記,螢幕常亮效果就消失了 btnclose.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); } }); } }
3)妙用View元件的keepScreenOn實現螢幕常亮:
前面囉囉嗦嗦地介紹了兩種保持螢幕常亮的方法,好像偏題了哈,這節要講的是KeepScreenOn屬性;
不過也沒什麼啦,順道學多2個方法哈!使用keepScreenOn屬性非常簡單
step 1:在你需要常亮的Activity對應的佈局檔案中,隨便給一個UI元件設定:android:keepScreenOn="true"
然後,只要Activity不被停止的話,那麼螢幕會一直保持常亮哦!
step 2:怎麼關閉常亮麼?也很簡單啊~在你需要關閉常亮的時候,修改UI元件的屬性,把他設定為false就可以了
相比起前面的兩個來說,這個是不是更加方便呢?見仁見智了!
也貼下簡單的使用程式碼吧:
main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <Button android:id="@+id/btnclose" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="關閉常亮" /> <TextView android:id="@+id/txtliang" android:layout_width="wrap_content" android:layout_height="wrap_content" android:keepScreenOn="true" android:text="我就是這麼亮" /> </LinearLayout>
MainActvitiy.java
package com.jay.example.keepscreenondemo; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { private Button btnclose; private TextView txtliang; private int flag = -1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnclose = (Button) findViewById(R.id.btnclose); txtliang = (TextView) findViewById(R.id.txtliang); btnclose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(flag == -1) { txtliang.setKeepScreenOn(false); txtliang.setText("我亮不起來了=-="); btnclose.setText("亮"); } else { txtliang.setKeepScreenOn(true); txtliang.setText("我又亮了^-^"); btnclose.setText("不亮"); } } }); } }
最後說幾句:
①常亮的前提是你不按電源鍵哈~~~一按肯定黑屏,(*^__^*) ...
②程式碼比較簡單,就不貼了,另外上面的多是螢幕常亮的,效果圖就不貼了
自己手機調省電模式,螢幕超時調成15s,接著晾一邊,接著自己測測就知道了!
相關推薦
妙用View的keepScreenOn保持螢幕常亮,android螢幕常亮
①通過PowerManager.WakeLock實現: step 1:獲得系統PowerManager物件,接著通過newWakeLock方法,建立WakeLock例項 step 2:為了不影響其他app,我們通常把保持常亮方法onResume()方法中,而把取消常亮
overflow妙用--去除默認滾動條,內容仍可滾動
parent wid 文本 borde 去除 -- blog border 溢出 在開發中我們往往要去除默認滾動條,但是其在豎直方向的滾動效果仍然需要。 <div id="parent"> <div id="child">
Julia: “.juliarc.jl” 的妙用:設定IDE啟動時,自動執行某檔案或某行命令
此文先感謝JuliaLangQQ群一個朋友的幫助! 比如在用Juno時,需要匯入一些檔案的路徑,作為工作目錄。這些檔案其實,不需要在Juno啟動時,進行人工啟動,完全可以設定為自動模式。也即順帶在啟動julia.exe後,也自動執行一下某些命令或一些檔案,這
妙用 Intellij IDEA 建立臨時檔案,Git 跟蹤不到的那種
| **好看請贊,養成習慣** > - 你有一個思想,我有一個思想,我們交換後,一個人就有兩個思想 > > - If you can NOT explain it simply, you do NOT understand it well enough 現陸續將Demo程式碼和技術文
Android最便捷的螢幕適配,堪稱螢幕適配終結者
效果圖 最大幅度解決適配問題,並且最大化方便開發者。 so,看下用法: 你沒有看錯,拿到設計稿,在佈局檔案裡面直接填寫對應的px即可,px:這裡的px並非是Google不建議使用的px,在內部會進行轉化處理。 ok,拿一些實際專案的頁面,看下不同解析度下的效果: 左為:
android 保持螢幕常亮和喚醒螢幕的方式
一、引言 Android開發中會用到將應用的螢幕保持常亮,比如播放視訊、音樂等,如果總是使用者去觸控式螢幕幕來保持螢幕常亮,那麼使用者體驗會很差; 二、實現方式 通過設定Window Flag(最簡單,推薦) 通過PowerManager 第一種方式:
Android如何保持程式一直執行 (讓螢幕常亮且停在當前程式介面)
在正常情況下,Android系統會讓程式和服務進入休眠狀態以節約電量使用。然而在開發Android程式時,有時候在程式執行的時候,不能讓系統休眠,否則有一些執行會停止,因此我們需要設定禁止休眠。 Android中設定禁止休眠有兩種方式: 1. 在View中設定FLA
Android 禁止系統休眠,使螢幕不變暗,保持遊戲中螢幕高亮
Android禁止系統休眠,使螢幕不變暗,保持遊戲中螢幕高亮 實現這一功能的方法有兩種,一種是在Manifest.xml檔案裡面宣告,一種是在程式碼裡面修改LayoutParams的標誌位。具體如下: 1、在Manifest.xml檔案裡面用user-permission宣告。程式碼如下: &l
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用文件文件內容檢索(查找)好幫手
當前 ces time abd oss 文件中 創建 water 操作 Find,grep 可以輕松實現對指定文件和目錄的查找,查看,刪除,***內容的清理等等……雖然不及sed\awk\功能強大和復雜,但其方便易用結合其它命令還是可以為我們提供強大的實用功能 1、
Android螢幕常亮防息屏
Android螢幕常亮防息屏 PowerManager 主要是用來控制電源狀態的. 通過使用該類提供的api可以控制電池的待機時間 儘可能的使用最低級別的WakeLocks鎖,並且確保使用完後釋放它 使用 WakeLock得加 許可權 <uses-permi
Android 螢幕滅屏亮屏廣播,螢幕滅屏亮屏監聽
service 類註冊廣播進行監聽 /** * 作者:created by meixi * 郵箱:[email protected] * 日期:2018/9/27 09 */ public class Serview extends Service { /**
三天不念口生,三天不寫手生,Linux基本命令Find,grep妙用檔案檔案內容檢索(查詢)好幫手
Find,grep 可以輕鬆實現對指定檔案和目錄的查詢,檢視,刪除,***內容的清理等等……雖然不及sed\awk\功能強大和複雜,但其方便易用結合其它命令還是可以為我們提供強大的實用功能 1、 查詢檔案建立如下結構檔案和資料夾,使用find查詢my5.txt find ./ -name my5.t
android 螢幕常亮
今個發現一個新的方式,使螢幕常亮竟然如此簡單 傳統的方式: 亮:getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_
妙用修辭之排山倒海,信手拈來
展鴻公職考試中心成立於2001年,是一家專注於國家公務員考試(http://www.gwyks.cn/html/gwy)考前輔導培訓和書籍研發的機構。專業的師資團隊、創新實效的課程模式,真心關懷的服務理念,選擇展鴻,助您成公! 文章寫作,一直是公考求索路上一隻
位運算子(&,>>,^)的妙用
1543: Numbers Time Limit: 1 Sec Memory Limit: 128 MB [Submit][Status][Web Board] Description DongDong is fond of numbers, and he has a posit
入域的機器想保持螢幕不關閉,但是Policy不允許,一個小指令碼可以幫你!
大家都懂得。大公司嘛,肯定有規則不允許這不允許那。 那我們運維需要做的就是合理的繞過去,幫助他們得到信任,以後做事就方便了。 案情分析。 某部門需要演示PPT在電視上,需要保持24小時螢幕不會Lock mon, 在此之前,他們一貫用法就是用硬物砸著鍵盤,但是有時候你懂的 肯定會掉
GROUP_CONCAT,SUBSTRING_INDEX的妙用(將多條資料合併成一行,並且根據某些列的合併值做條件判斷來生成最終值)
(1)不做處理: SELECT e.class_id AS class_id, c.course_name AS class_name, u.stuNum AS stu_num, u.USER_NAME AS student_name, u.department AS depart
setTimeout和setInterval解析,妙用setTimeout代替setInterval進行間歇呼叫
"在開發環境下,很少使用間歇呼叫(setInterval),原因是後一個間歇呼叫很可能在前一個間歇呼叫結束前啟動" 妙用setTimeout代替setInterval進行間歇呼叫如下 function func(){ /****執行程式碼****/
遍地都是的位運算,關鍵時刻竟然有妙用!
很多人都可能在面試的時候遇到過這樣一道題目: 有 1000 個一模一樣的瓶子,其中有 999 瓶是普通的水,其中有一瓶含有劇毒(稀釋後仍然具有毒性),你只有 10 條小白鼠,它們在喝下毒藥後會馬上死去,怎樣利用它們在最短的時間內判斷出哪瓶是毒藥? 我們都知道,在計算機語言當中,所有的數字最終都會
css選擇器妙用:倒數第n,奇數列,偶數列,倍數列
1、first-child first-child表示選擇列表中的第一個標籤。程式碼如下: li:first-child{background:#090} 上面的意思是,li 列表中的 第一個li模組的背景顏色。 2、last-child last-child表示選