【发布时间】:2013-06-04 23:39:42
【问题描述】:
您好,感谢您的帮助。
我有以下情况。
我有一个锁屏小部件,当用户点击它时,应用小部件会执行一些任务(自行更新)。
重点是:如果手机处于睡眠模式,用户点击App Widget,App Widget会自行更新,但App Widget本身是不可见的。
因此,当用户点击锁定屏幕小部件时,我需要唤醒设备 - 并且在它可以再次进入睡眠状态 :-) -
因此我可以使用:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "bbbb");
wl.acquire();
在 AppWidgetProvider 中。 重点是:如何调用“release()”,让设备重新进入睡眠状态?
如果我这样做:
PowerManager pm = (PowerManager) ctxt.getSystemService(Context.POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "bbbb");
wl.acquire();
wl.release();
在 AppWidgetProvider 中,设备永远不会唤醒。
欢迎提出任何建议!
谢谢!!
【问题讨论】:
-
当手机处于睡眠模式时,用户如何点击应用小部件?是不是锁屏了?
-
@NAYOSO 是的,你说得对,但他可以在屏幕被锁定之前点击锁定屏幕上的小部件(并且在锁定之前变灰)。无论如何,只要他继续点击小部件,我就需要让它保持清醒......
-
电源管理器的唤醒锁应该可以完成任务,但我不知道它是否在应用小部件(外部应用活动)中起作用
-
我认为这是不允许的,因为如果有人可以使屏幕状态始终在应用程序之外,它会耗尽设备电池,但这只是我的想法 CMIIW,如果我会发布答案有关于此的其他信息:)
标签: android android-appwidget lockscreen wakelock appwidgetprovider