public class MainActivity extends Activity {
String TAG = "tag";
PowerManager mPowerManager; // 电源控制管理器,比如防锁屏
WakeLock mWakeLock; // 唤醒锁
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 点亮屏幕
acquireWakeLock(30000);
// 解锁屏幕
disableKeyguard(true);
}
// 解锁屏幕
private void disableKeyguard(boolean isDis) {
KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("123");
if (isDis) {
// 解锁
keyguardLock.disableKeyguard();
} else {
// 屏幕锁定
keyguardLock.reenableKeyguard();
}
}
// 点亮屏幕
public void acquireWakeLock(long milltime) {
if (mWakeLock == null) {
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, TAG);
mWakeLock.acquire(milltime);
}
}
// 关闭屏幕
public void releaseWakeLock() {
if (mWakeLock != null && mWakeLock.isHeld()) {
mWakeLock.release();
mWakeLock = null;
}
}
// 屏幕保持常量
private void screenWakeUp(boolean isWakeUp) {
if (null == mPowerManager) {
mPowerManager = (PowerManager) getSystemService(POWER_SERVICE);
}
if (null == mWakeLock) {
mWakeLock = mPowerManager.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK, getClass().getName());
}
if (!mWakeLock.isHeld() && isWakeUp) {
mWakeLock.acquire();
}
if (mWakeLock.isHeld() && !isWakeUp) {
mWakeLock.release();
}
}
权限:
<!-- 保持唤醒 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
android 点亮屏幕,解锁,保持常量
最新推荐文章于 2024-04-22 05:14:04 发布
