如何制作一个不会听取触摸事件和后退/主页按下但只会听电源按钮的应用程序。 我试过这个但是没有成功。
@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;
}
答案 0 :(得分:2)
三个星期前,我也希望赶上主页按钮,但我很烦恼。我做了一些研究,我发现Android系统不支持修改它。你可以访问它 Overriding the Home button - how do I get rid of the choice?,关于家庭按钮。
至于touchEvent,我建议你可以尝试这个方法,覆盖onTouchEvent(如果你不添加onTouchListener,让它重新运行,不做任何事情,同时,活动也不处理onTounEvent或OnClick(整个布局) )。
答案 1 :(得分:1)
您可以使用自己的自定义视图为您的课程打包,并覆盖其OnClickListener
和OnTouchListener
方法。用空白方法覆盖它们。
此外,请保持代码设置单击电源按钮时应用的工作方式。
例如,如果您使用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();
}