Android自动解除系统锁屏

在Runtimetest中,reboot测试项完成后继续测试video测试,但是reboot后屏幕是锁定状态,只能后台播放video。上网查找方法,可以用如下方法解决:

mKeyguard = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
                mKeylock = mKeyguard.newKeyguardLock("");
                mKeylock.disableKeyguard();

在api中disableKeyguard()的介绍是
disableKeyguard():Disable the keyguard from showing.
需要权限android.permission.DISABLE_KEYGUARD
很多文档中对这个方法的补充介绍和翻译都是“通过disableKeyguard()函数来解除锁屏,通过来reenableKeyguard()反解除锁屏.reenableKeyguard()反解除锁屏的意思是:如果在调用disableKeyguard()函数之前是锁屏的,那么就进行锁屏,否则不进行任何操作。当然如果之前没调用disableKeyguard()函数,也不进行任何操作。”

问题得到解决。

同样的在Runtimetest apk中s3 测试项,

mWakeupIntent = PendingIntent.getBroadcast(RuntimeTestConfig.getContext(), 0, new Intent(ACTION_WAKEUP), 0);
        mAm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+WAKEUP_INTEVEL, mWakeupIntent);
        try{
            Thread.sleep(1000); //sleep a while.
            pm.goToSleep(SystemClock.uptimeMillis() + 1); }

设置一个时钟去唤醒屏幕,但是接到广播后执行

pm.userActivity(SystemClock.uptimeMillis() + 1 , true); //light the screen.

并没有生效,该问题同样可以用上述方法进行解决,参考http://stackoverflow.com/questions/6235563/turn-lock-off-and-screen-on-after-sleep

你可能感兴趣的:(android,Android开发)