3

Android スマートフォンのディスプレイがオンまたはオフになったことを検出するサービスがあります。オフにすると、サービスは、dispatchKeyEvent を使用して音量を上げるボタンが押されたことを検出するアクティビティを呼び出します。残念ながら、画面がオフの場合、アクティビティはこれを実行できないようです。(この投稿を参照してください。)

ただし、画面がオフのときに音量を上げるボタンを押すと、次の LogCat メッセージが表示されるため、あるレベルで何かがそのイベントを検出していることに気付きました:「CatService: 現在の sInstance を返します」。別のデバイスではログに別のものが表示されるため、メッセージはデバイス固有のようですが、実際には最初のデバイスだけが心配です。

CatService についていくつか調査しましたが、音量を上げるボタンの押下を検出するために、CatService をどのように使用できるか、またはログ メッセージを生成しているものをあまり見つけられず、理解できません。誰もがこれに当てることができる光をいただければ幸いです。

4

1 に答える 1

4

画面がオフのときにこのようなことを検出し続ける唯一の方法は、画面をオフにしてアプリを機能させるWakeLockを取得することです。ただし、これはバッテリーの寿命をかなり消耗させるため、絶対に必要な場合にのみ使用してください。

この場合、PARTIAL_WAKE_LOCKが必要になります。

于 2012-07-01T17:17:32.010 に答える