1. 程式人生 > >android 螢幕保持不鎖屏

android 螢幕保持不鎖屏

今天有個需求,應用進入某個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 過段時間螢幕會暗下去,但不會滅屏,不會鎖屏。再次點選喚醒時,螢幕又全亮,之後再暗一點,如此往復。