如何制作一个不会听取触摸事件的应用

时间:2015-12-22 01:49:57

标签: android

如何制作一个不会听取触摸事件和后退/主页按下但只会听电源按钮的应用程序。 我试过这个但是没有成功。

@Override
    public boolean onKeyDown(int keyCode, android.view.KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_POWER) {
            return true;
        }else if ((keyCode == KeyEvent.KEYCODE_HOME)|| (keyCode == KeyEvent.KEYCODE_BACK )){
            return false;
        }
        return false;
    }

3 个答案:

答案 0 :(得分:2)

三个星期前,我也希望赶上主页按钮,但我很烦恼。我做了一些研究,我发现Android系统不支持修改它。你可以访问它 Overriding the Home button - how do I get rid of the choice?,关于家庭按钮。

至于touchEvent,我建议你可以尝试这个方法,覆盖onTouchEvent(如果你不添加onTouchListener,让它重新运行,不做任何事情,同时,活动也不处理onTounEvent或OnClick(整个布局) )。

答案 1 :(得分:1)

您可以使用自己的自定义视图为您的课程打包,并覆盖其OnClickListenerOnTouchListener方法。用空白方法覆盖它们。

此外,请保持代码设置单击电源按钮时应用的工作方式。

例如,如果您使用RelativeLayout或一般View包装布局,则可以使用类似

的内容
relativeLayout.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return false;
        }
});
relativeLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            return false;
        }
});

答案 2 :(得分:1)

要阻止用户触摸事件尝试this解决方案。如果您想要禁用后退和主页,请尝试覆盖此Activity的方法:

@Override
public void onAttachedToWindow() {
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
     super.onAttachedToWindow();
}