【发布时间】:2013-08-09 04:31:01
【问题描述】:
我知道服务无法实现后退键,并且我理解其中的原因。但是有一个名为 SideBar(在 Play 商店中)的 app 可以对后退按键做出反应。它是一种将视图添加为系统覆盖并在按下后退键时删除视图的服务。谁能解释一下这是怎么做到的?
这是另一个做得很好的app。我搜索了网络,但没有找到解决这个问题的方法。有什么想法吗?
【问题讨论】:
-
你找到解决这个问题的方法了吗?我也面临着类似的情况。
我知道服务无法实现后退键,并且我理解其中的原因。但是有一个名为 SideBar(在 Play 商店中)的 app 可以对后退按键做出反应。它是一种将视图添加为系统覆盖并在按下后退键时删除视图的服务。谁能解释一下这是怎么做到的?
这是另一个做得很好的app。我搜索了网络,但没有找到解决这个问题的方法。有什么想法吗?
【问题讨论】:
这可能是使用system alert windows 完成的 - 因此该服务创建并管理一个添加到窗口管理器的窗口,该窗口管理器上设置了一个自定义callback。
【讨论】:
here 是在服务中添加视图的好例子,如果你想在服务中使用监听器,你也可以使用。
我也在寻找服务中的监听器实现,终于找到了。
记得添加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
并添加您的服务类
<application>
.
.
<service android:name=".YourServiceClass"></service>
.
.
</application>
在 AndroidManifest.xml 中。
【讨论】: