この質問が何度も寄せられていることは知っていますが、答えは常に「いいえ、ホームボタンを無効にすることはできません」です。
少し違う質問があります。
アクティビティが onKeyDown() をオーバーライドし、すべてのキー押下に対して true を返す単純なコードを書きました。
理論的には、これは、アプリケーションを開いた人は誰でもそこで立ち往生し、アプリケーションから移動するオプションがないことを意味します.
このアプリケーションをさまざまなデバイスでテストしたところ、次のことがわかりました。
- OS が 2.2.2 の motorola デバイスで、ホーム ボタンが無効になりました。
- OS が 2.3.5 の HTC デバイスで、ホーム ボタンが無効になりました。
- OS が 2.3.7 の Sony では、ホーム ボタンが無効になりました。
- OS が 2.2.1 および 2.3.3 の Samsung では、ホーム ボタンが無効になりました。
- OS が 2.3.6 および 4.0.4 の Samsung では、ホーム ボタンが有効なままでした。
これらの観察は非常に矛盾しているようです。
異なるデバイスの動作が異なる理由と、そのようなシナリオを処理する最善の方法は何ですか?
これまでの私の理解では、どのベンダーも Android OS をカスタマイズしていません。誰もがその上に UI レイヤーを配置していますが、誰も内部に触れていません。