android 螢幕保持不鎖屏
阿新 • • 發佈:2019-01-22
今天有個需求,應用進入某個Activity,螢幕保持常亮,即進入這個activity後,手機不自動鎖屏,查了一下資料,有2個比較靠譜的做法,還不懂原理,但是效果能實現了。
- 方法1
androidmanifest.xml 里加上許可權:
<uses-permission android:name="android.permission.WAKE_LOCK" />
在要保持不鎖屏的activity中,寫下述程式碼:
public class UnLockActivity extends Activity {
@Override
public void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//這句
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
}
- 方法2
在要保持不鎖屏的activity中,寫下述程式碼:
public class UnLockActivity extends Activity {
WakeLock m_wklk;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
m_wklk = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "cn");
m_wklk.acquire(); //設定保持喚醒
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
m_wklk.release(); //解除保持喚醒
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
m_wklk.release();//解除保持喚醒
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
m_wklk.acquire(); //設定保持喚醒
}
}
方法1 可以保持螢幕一直很亮,方法2 過段時間螢幕會暗下去,但不會滅屏,不會鎖屏。再次點選喚醒時,螢幕又全亮,之後再暗一點,如此往復。