Android 安卓如何在按下home按钮时重新启用Keyguard?
几天来,我一直在试图找到解决这个问题的办法,谷歌和这个网站上已经有很多帖子了,从所有这些来看,似乎不可能覆盖主页按钮Android 安卓如何在按下home按钮时重新启用Keyguard?,android,Android,几天来,我一直在试图找到解决这个问题的办法,谷歌和这个网站上已经有很多帖子了,从所有这些来看,似乎不可能覆盖主页按钮 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HOME) { return true; } return super.onKeyDown(keyCode, event); } 这肯定行不通 无论如何,我在某个地
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
return true;
}
return super.onKeyDown(keyCode, event);
}
这肯定行不通
无论如何,我在某个地方读到,有一种解决方法,当按下“主页”按钮时,可以触发某些东西,部分似乎是有效的
protected void onUserLeaveHint() {
super.onUserLeaveHint();
Log.i("LOG", "onUserLeaveHint");
}
但我想做的是在该方法内部重新启用keyguard(我知道要启用锁屏,首先必须禁用它),但由于某些原因,它无法启用。这是我的代码
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_lock);
}
public void onStart() {
super.onStart();
Globals.km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
Globals.kl = Globals.km.newKeyguardLock("My_App");
Globals.kl.disableKeyguard();
Log.i("LOG", "OnStart");
}
public void onResume() {
super.onResume();
Log.i("LOG", "OnResume");
}
protected void onUserLeaveHint() {
super.onUserLeaveHint();
Log.i("LOG", "onUserLeaveHint");
Globals.kl.reenableKeyguard();
}
public void onPause() {
super.onPause();
Log.i("LOG", "OnPause");
}
protected void onStop() {
super.onStop();
Log.i("LOG", "OnStop");
}
可重入仅在活动启动时起作用,因此如果我将其放入onPause()中,将显示锁定屏幕。但当我按下home键时,它就不起作用了
有人能告诉我我做错了什么吗?Thanx.你不应该覆盖home按钮,用户希望它能以某种方式工作,这并不是说它不可能(据我所知),而是你可能不应该干扰人们在按下home键时预期会发生的事情。我知道并且完全理解你在告诉我什么,但这正是我需要的,我看不到其他解决方案。