0

サウンドを生成するフォアグラウンド サービスを開発したいと考えています。ただし、私が試したすべてのことは、デバッグ中にのみ機能し、ケーブルを外して電話を単独で使用すると、必要なものが得られません。

私が欲しいのは、電話がスリープ状態であっても、CountDownTimer を使用して X 間隔ごとにタスクを実行するサービスです。

そのために、次の 2 つのオプションを使用しましたが、それぞれに欠点がありました。

1) startForeground(); を使用してフォアグラウンド サービスを作成します。バックグラウンドサービスで終わった。電話がスリープ状態になると、サービスはスリープ状態になり、時々 OS がサービスを実行します (音が聞こえます)。電話をロック画面で開くと、サービスが有効になり、すぐに音が鳴ります。

2) WakeLock を利用する。これは電話がスリープ状態でも機能しますが、電話の「スリープ状態に入る」タイムアウトは無効になりましたが、ユーザーがロックボタンを押す必要がないように、まだオンにしたいです。

誰かが私に何ができるか教えてもらえますか?

4

1 に答える 1

0

あなたAlarmManagerが探しているものかもしれません。

http://developer.android.com/reference/android/app/AlarmManager.html

setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)

繰り返しアラームをスケジュールします。

setInexactRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)

トリガー時間の要件が不正確な繰り返しアラームをスケジュールします。たとえば、1時間ごとに繰り返されるアラームですが、必ずしも1時間ごとに繰り返されるとは限りません。

于 2012-11-12T20:36:39.443 に答える