我该怎么做?
当前解决方案
我启动了一个透明的 Activity ,它捕捉到后退的压力,将其转发到我的服务,然后自行关闭。但是这个activity会在当前运行的activity中可见,因此这不是一个非常漂亮的解决方案。
看到的解决方案
我见过一个应用程序确实可以在服务中捕获后压,但没有捕获后压的 Activity 。如果我显示当前正在运行的 Activity ,则此应用程序没有任何内容。
问题
如何做到这一点?我读过很多线程说,这是不可能的,但我可以看到,有些应用程序可以以某种方式实现这一目标......
最佳答案
我想我发现了它是如何工作的......不要在你的覆盖 View 中使用 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+ 覆盖你 View 的 dispatchKeyEvent
:
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
// handle back press
// if (event.getAction() == KeyEvent.ACTION_DOWN)
return true;
}
return super.dispatchKeyEvent(event);
}
关于android - 覆盖服务 - 按下返回按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462119/