私のアプリケーションでは、ユーザーがホームボタンをクリックするとログイン画面が開きますが、アクティビティスタックも維持したいと考えています。
これを行う方法はありますか?
私のアプリケーションでは、ユーザーがホームボタンをクリックするとログイン画面が開きますが、アクティビティスタックも維持したいと考えています。
これを行う方法はありますか?
同じことを直接行う方法はありません。HOMEキーのKeyDownイベントを取得できないように。ただし、次のコードで HOME キーをキャプチャして同じ画面にとどまることができます
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
実際には、ホームボタンにオーバーライドする必要があります:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent new(this, login);
start(intent);
return true;
}
return super.onKeyDown(keyCode, event);
}
セキュリティ上の理由から、ホーム ボタンのクリック イベントを確実にキャプチャすることはできません。
ただし、メソッドをオーバーライドすることで、ホームボタンを押したときに実行されるアクションと一緒に何かを行うことができますonNewIntent()
。