[英]disable/do nothing ( back , recent ,and home buttons)!
如何禁用上述按钮或将其设置为不执行任何操作? 我知道这是可能的,因为(按钮映射器)使用辅助功能服务了! 即使使用root访问。 我如何使用android studio来做到这一点? 您可以共享/编写该代码吗?
活动进入后台时执行代码
@Override
onBackButtonPressed(){
//do nothing
}
这将完成后退按钮的工作
主页按钮/最近按钮:我认为您正在尝试做一些事情,例如在活动中暂停音乐消失。 如果是这种情况,请阅读有关“ 活动生命周期-中”的信息以获取答案。 我将为您简要介绍活动生命周期
活动开始时,先调用onCreate()方法,再调用onStart(),再调用onResume()
当活动在后台并进入前台时,不会调用onCreate! 相反,先调用onStart(),再调用onResume()当活动进入后台时,调用onPause()
如果不再需要后台活动运行,则将调用onStop()。如果将要删除后台活动
当活动进入后台时,将调用onPause()和onStop()
当您的应用程序在屏幕上不再可见时,请放置代码以执行,
@Override
onStop(){
//your code
}
阅读更多, 活动生命周期
后台进程
示例:一个应用程序在后台下载歌曲
您应该阅读有关Android服务的信息: 在此处输入链接描述 。 服务在系统中与后台一起运行。 确保在新线程(而不是UI线程)上执行服务,否则当“活动”进入暂停,停止或销毁状态时,应用程序将变得无响应和/或服务停止运行。 换句话说,服务不会在自己的线程上运行
在此处了解有关Android线程等后台进程的信息:在此处输入链接说明
学习TeamTreeHouse课程是学习服务和线程的最佳资源
祝好运!
解决了
public class example extends AccessibilityService {
@Override
protected boolean onKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
if (action == KeyEvent.ACTION_UP) {
if (keyCode == 4 && getSharedPreferences("example",0).getBoolean("Back",false)) {
return true;
}
else if (keyCode == 3 && getSharedPreferences("example",0).getBoolean("Home",false)) {
return true;
}
else if (keyCode==KeyEvent.KEYCODE_APP_SWITCH && getSharedPreferences("example",0).getBoolean("Recent",false)){
return true;
}
else {
return false;
}
}
else {
return super.onKeyEvent(event);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.