ユーザーがホームボタンをタップしてその後アプリを開いた場合、戻ることを許可しない方法は? たとえば、ユーザーがホーム ボタンをタップする前に表示していた画面に戻れないようにします。新しいセッションとして扱う必要があります
3 に答える
これは、Androidのタスク/ナビゲーションガイドラインに露骨に反するため、悪い考えのように聞こえます。
ユーザーは、タスクを再開した後、前の画面に戻ることができることを期待しています...そしてそれを防ぐと、多くのユーザーを怒らせる可能性があります。
ユーザーエクスペリエンスを損なうリスクを冒す前に、これらのドキュメントをお読みください。
ホームボタンをオーバーライドすることはできません。ホームボタンをクリックしたときにユーザーが残したアクティビティに戻りたくない場合は、アクティビティの一時停止時にバックスタックを目的の場所にポップするだけです。
アクティビティが表示されなくなったら終了したい場合は、アクティビティの onStop() 呼び出しでアクティビティを終了します。
@Override
protected void onStop() {
super.onStop();
this.finish();
}
これにより、 onRestart() が呼び出される可能性なしでアクティビティが終了します。ユーザーは最初からやり直すのではなくアプリを再開することを期待しているため、この方法には注意してください。ただし、これが受け入れられるプロトコルである場合もあります。NavigationとActivity LifeCycleの詳細を参照してください。
編集: 質問Android-Quittings a application も参照してください - それは眉をひそめていますか? 具体的にはこの答え。