2011-05-06 177 views
4

我想弄清楚如何关闭服务中的屏幕。我已经阅读this,但我没有意识到如何从服务内做到这一点。我真的不想处理唤醒锁,因为一旦屏幕熄灭,我并不真正关心通过Java代码将其返回。我只需要一次性关闭屏幕的方法,并且我一直在寻找这个。Android:关闭服务屏幕

回答

3

我看到两个选项:

(1)创建一个虚拟Activity,并用它通过getWindow();方法获取Window对象。然后,您将使用Intent从您的Service关闭屏幕。 (1)使用IHardwareService.Stub。不是SDK的一部分,但是这个博客文章有一个解决方法:http://www.tutorialforandroid.com/2009/01/changing-screen-brightness.html

顺便说一句:我会强烈推荐第一个选项。你永远不知道何时不属于SDK的类可能会改变。

+0

虚拟活动,你的意思是只是创建一个活动,不要用XML膨胀?那可能吗? – SemperGumbee 2011-05-07 02:17:18

+0

@Semper是的。但想一想,如果你只关心关闭屏幕,一个完全黑色的活动应该做同样的伎俩。当然,除非你想关闭*设备*,但这是另一个问题。 – Aleadam 2011-05-07 06:40:31

+0

我会明天看看它,并在此回复你。 Whowoudaevarthunk ...黑色活动:) – SemperGumbee 2011-05-07 07:07:53