当前位置: 代码迷 >> Android >> android 点亮荧屏,解锁,保持常量
  详细解决方案

android 点亮荧屏,解锁,保持常量

热度:323   发布时间:2016-05-01 10:43:35.0
android 点亮屏幕,解锁,保持常量
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" />
  相关解决方案