关于屏幕解锁的实例

AndroidManifest.xml加两个权限

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


Android屏幕解锁:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); 
        KeyguardLock keyguardLock = keyguardManager.newKeyguardLock(""); 
        keyguardLock.disableKeyguard();
Android 点亮屏幕:
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE); 
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP |PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer"); 
mWakelock.acquire(); 
//... 
mWakelock.release();//关闭
import android.app.KeyguardManager;  
 import android.content.Context;  
 import android.os.PowerManager;  
   
 public class ScreenLockManager {  
   private Context mContext;  
   private KeyguardManager.KeyguardLock mKeyguardLock;  
   private boolean isScreenLock;  
   private PowerManager.WakeLock mWakelock;  
   public ScreenLockManager(Context context) {  
     mContext = context;  
   }  
   public void getUnlock() {  
     // acquire wake lock  
     PowerManager pm = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);  
     mWakelock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "SimpleTimer");  
     mWakelock.acquire();  
     // unlock screen  
     KeyguardManager km = (KeyguardManager) mContext.getSystemService(Context.KEYGUARD_SERVICE);  
     mKeyguardLock = km.newKeyguardLock(Log.TAG);  
     if (km.inKeyguardRestrictedInputMode()) {  
       mKeyguardLock.disableKeyguard();  
       isScreenLock = true;  
     } else {  
       isScreenLock = false;  
     }  
   }  
   public void releaseUnlock() {  
     // release screen  
     if (isScreenLock) {  
       mKeyguardLock.reenableKeyguard();  
       isScreenLock = false;  
     }   
     // release wake lock  
     if (mWakelock.isHeld()) {  
       mWakelock.release();  
     }  
   }  
 ------------  
 public class Log {  
           public static final String TAG = "SimpleTimer";  
           public static void v(String msg){  
             android.util.Log.v(TAG, msg);  
           }  
           public static void d(String msg){  
             android.util.Log.d(TAG, msg);  
           }  
           public static void e(String msg){  
             android.util.Log.e(TAG, msg);  
           }  
           public static void e(Exception e){  
             android.util.Log.e(TAG, e.getMessage(),e);  
           }  
         }  

你可能感兴趣的:(android,xml,OS)