サウンドを生成するフォアグラウンド サービスを開発したいと考えています。ただし、私が試したすべてのことは、デバッグ中にのみ機能し、ケーブルを外して電話を単独で使用すると、必要なものが得られません。
私が欲しいのは、電話がスリープ状態であっても、CountDownTimer を使用して X 間隔ごとにタスクを実行するサービスです。
そのために、次の 2 つのオプションを使用しましたが、それぞれに欠点がありました。
1) startForeground(); を使用してフォアグラウンド サービスを作成します。バックグラウンドサービスで終わった。電話がスリープ状態になると、サービスはスリープ状態になり、時々 OS がサービスを実行します (音が聞こえます)。電話をロック画面で開くと、サービスが有効になり、すぐに音が鳴ります。
2) WakeLock を利用する。これは電話がスリープ状態でも機能しますが、電話の「スリープ状態に入る」タイムアウトは無効になりましたが、ユーザーがロックボタンを押す必要がないように、まだオンにしたいです。
誰かが私に何ができるか教えてもらえますか?