ユーザーがスリープ状態の Android スマートフォンのハードウェア ボタン (または少なくともホーム ボタンと電源ボタン) を押したときを検出したいと考えています。
これまでは、ACTION_SCREEN_ON イベントに BroadcastReceiver を使用してきました。これはうまく機能しますが、メッセージ、電話、またはアラームの開始時などにも発生します。
ACTION_USER_PRESENT もオプションではありません。これは、ユーザーが実際に存在し、ロック解除コードを知っている場合にのみ発生するため、電話を改ざんしていないためです。
それを処理する方法はありますか?