如何调用android默认的LockScreen?

时间:2014-03-05 07:29:20

标签: android lockscreen

如何在活动或服务中调用android的默认LockScreen?

我创建了Android应用程序,就像Optimus G2的敲门功能一样。 但我有一些问题。 我的活动有OnStop()OnDestroy()功能,我不会调用默认LockScreen或睡眠和唤醒。 首先,我尝试PowerManager.gotoSleep(),但它是Android系统API。解决方案是DevicePolicyManager,但我不会使用它。

1 个答案:

答案 0 :(得分:1)

查看设备管理API:http://developer.android.com/guide/topics/admin/device-admin.html#top

如果是管理员,您可以使用设备策略管理器和lockNow()锁定屏幕:http://developer.android.com/reference/android/app/admin/DevicePolicyManager.html#lockNow%28%29

要解锁,您必须使用windowmanager向当前窗口添加标记。

WindowManager windowManager = Context.getSystemService(Context.WINDOW_SERVICE);
Window window = getWindow();
window.addFlags(windowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);  

打开屏幕:

PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = powerManagernewWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "wakeLock");
wakeLock.acquire();

不要忘记清单文件中的WAKE_LOCK权限。