// 解锁
KeyguardManager manager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
if( manager.inKeyguardRestrictedInputMode() ){
    //处于锁定界面,界面则通过KeyguardLock类方法来解锁
    KeyguardLock keyguard = manager.newKeyguardLock(getLocalClassName());
    keyguard.disableKeyguard();
}解锁需要权限:
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
//点亮屏幕
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
//.......
mWakelock.release();点亮屏幕需要权限:
<uses-permission android:name="android.permission.WAKE_LOCK"/>

解决方案 »

  1.   

    按照LS的方法 请求强制打开锁,会出现按Power键,系统也不会进入Sleep的现象建议参考如下方法,让对话框在锁屏界面上方显示
    onCreate方法时使用
        requestWindowFeature(Window.FEATURE_NO_TITLE); //hide title
        Window win = getWindow();
        WindowManager.LayoutParams winParams = win.getAttributes();
        winParams.flags |= (WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                | WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        setRequestedOrientation(0);在OnResume时使用
         protected void onResume() {
            super.onResume();
            acquireWakeLock();
         }
        
         private void acquireWakeLock() {
             if (mWakelock == null) {
                 Log.i(TAG, "Activity begin start ");
                 PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
                 mWakelock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK,     this.getClass().getCanonicalName());
                 mWakelock.acquire();
        }在onPause
         protected void onPause() {
             super.onPause();
             ......
             releaseWakeLock();
         }
         
         private void releaseWakeLock() {
            if (mWakelock != null && mWakelock.isHeld()) {
                mWakelock.release();
                mWakelock = null;
         }
    希望对LZ有所帮助!