可以从服务中检测后退按钮吗?

时间:2011-11-18 13:36:05

标签: android

可以从服务中检测到后退按钮吗?

正如标题所说的那样?我做了很多谷歌搜索,但无法找到明确的答案。 还没办法吗?

3 个答案:

答案 0 :(得分:4)

  

可以从服务中检测到按钮按下吗?

不,抱歉。如果您在前台有活动,则活动可以检测到BACK按下。如果前台没有活动,则BACK按钮与您的代码无关。

答案 1 :(得分:2)

不要这么认为。后退按钮是在活动级别管理的,而服务完全与此级别分开。

您唯一的方法就是将活动中的反压传达给您的服务。但是,您需要将您的活动放在前台。

答案 2 :(得分:0)

如果通过您的服务添加视图或其他内容,则可以使用“编辑文本”框捕获反向按。只需设置其onKeyListerner即可。 (隐藏其他视图后面的edittext框)

editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                Log.d("TAG", "onKey() called with: " + "v = [" + v + "], keyCode = [" + keyCode + "], event = [" + event + "]");
                if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction()== KeyEvent.ACTION_UP){
                    onBackPress();
                }
                return false;
            }
        });