如何在活动或服务中调用android的默认LockScreen?
我创建了Android应用程序,就像Optimus G2的敲门功能一样。
但我有一些问题。
我的活动有OnStop()
或OnDestroy()
功能,我不会调用默认LockScreen
或睡眠和唤醒。
首先,我尝试PowerManager.gotoSleep()
,但它是Android系统API。解决方案是DevicePolicyManager
,但我不会使用它。
答案 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权限。