我知道服务无法实现返回键按下,并且我理解其基本原理。但是有一个名为 SideBar(在 Play Store 上)的 app 可以对后退键按下做出反应。它是一项将视图添加为系统覆盖并在按下后退键时删除视图的服务。谁能解释一下这是如何完成的吗?
这是另一个做得很好的应用程序。我在网上搜索过,但没有找到解决这个问题的方法。有什么想法吗?
在另一个类似问题上找到答案这里。
view.setFocusableInTouchMode(true);
view.requestFocus();
view.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
removeView();
}
return false;
}
});
这里 是在服务中添加视图的很好的例子,如果你想在服务中你也可以使用监听器。
我也在寻找服务中的侦听器实现,终于找到了。
记得添加权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
并添加您的服务等级
<application>
.
.
<service android:name=".YourServiceClass"></service>
.
.
</application>
在 AndroidManifest.xml 中。