如何禁用上述按钮或将其设置为什么都不做? 我知道这是可能的,因为(按钮映射器)使用辅助功能服务做到了! 即使使用root访问权限。 我怎么能用android studio呢? 你能分享/编写代码吗?
答案 0 :(得分:0)
活动进入后台时执行代码
@Override
onBackButtonPressed(){
//do nothing
}
这将完成后退按钮的工作
主页按钮/ recent_button:我认为你正在尝试做一些事情,比如暂停音乐活动就会消失。如果是这种情况,请阅读Activity Lifecycle - Medium post以获得答案。我将简要介绍一下活动生命周期
活动开始时,调用onCreate()方法,然后调用onStart(),后跟onResume()
当活动在后台并到达前台时, onCreate没有被调用!相反,调用onStart(),然后调用 onResume()当一个活动进入后台时,调用onPause()
如果不再需要后台活动, 调用onStop()如果背景上的活动即将来临 删除
当活动进入后台时,会调用onPause()和onStop()
请将您的代码设置为在屏幕上不再显示您的应用时执行,
@Override
onStop(){
//your code
}
更多阅读,Activity lifecycle
后台流程
示例:在后台下载歌曲的应用
您应该阅读Android中的服务:enter link description here。服务在后台运行,与系统一起运行。确保您在新线程中执行该服务,而不是在您的UI线程上执行该服务,否则当Activity停止,停止或销毁状态时,您的应用程序将无法响应和/或服务停止运行。换句话说,服务不能在自己的线程上运行
在此处阅读Android上的线程等背景流程:enter link description here
学习服务和主题的最佳资源是This TeamTreeHouse Course
古德勒克!
答案 1 :(得分:0)
解决
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);
}
}
}