2015-09-25 39 views
0

我有Android服务,在的onCreate方法如何关闭Android手机睡眠和唤醒后添加系统重叠视图的Android服务?

WindowManager.addView(mOverlayView, mLayoutParams); 

增加了一个系统的覆盖图(TYPE_SYSTEM_ALERT),并在使用

WindowManager.removeView(mOverlayView); 

当视图是的onDestroy方法删除它双击,通过使用关闭服务将其从屏幕上移除

stopSelf(); 

叠加视图使用

android:keepScreenOn="true" 

现在保持在屏幕上,当我按下电源按钮,把手机睡觉,然后再按一下唤醒它,在解锁之后,覆盖观点依然是打开并在屏幕上。

当按下电源按钮并且手机进入睡眠状态时/之后,如何使服务自行停止?我不希望覆盖视图在唤醒和解锁手机后在屏幕上可见。

回答

0

观看ACTION_POWER_OFF和/或ACTION_POWER_ON广播。请注意,AFAIK您只能通过registerReceiver()注册您的服务,而不是通过您的清单。由于您的服务已经运行,这不应该是一个问题。当您收到广播时,请停止该服务。