0

こんにちは、薬を飲むようにリマインダーを実行するように AlarmManager を設定する必要があります。カスタムの日数とカスタムの回数でそれを繰り返す必要があります。

それで、AlarmManagerまたはCommonsWareのAlarmManagerの実装を設定して、「次の5日間、午前9時から1日2回」思い出させる効率的な方法はありますか?サンプル コードと関連するチュートリアルで建設的なヘルプが必要な場合は、事前にアドバイスと tnx をお寄せください。

4

3 に答える 3

0

AlarmManager で PendingIntent を使用したい。アイデアは、alarmManager で pendingIntent をスケジュールし、intentService またはブロードキャストをトリガーし、次の目的のイベントのために alarmManager で別の pendingIntent をセットアップすることです。ユーザーがデバイスを再起動した場合に備えて、BOOT_RECEIVED 権限が必要になることに注意してください。私は Audio Control で複雑なスケジューリングを行っていますが、これはまさに私が行っていることです。

ここに私が意味することのかなりまともなチュートリアルがあります:

http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html

于 2013-02-06T17:29:14.660 に答える
0

アルゴリズムに従って、次に薬を服用するときにアラームをスケジュールする必要があります (たとえば、1 日に 2 回、今日初めてペンディング インテント コールバックに到達した場合、次のアラームをスケジュールします。 [6,7,8,9,10...] 時間後に開始します)。

前回のアラーム起動時とユーザー設定の両方を共有設定/ファイル/DB に保存する必要があります。

プロセスを停止する必要があります (Android によって強制終了されたか、デバイスが再起動されました)。デバイスの再起動の場合は、ブート レシーバーを使用してサービスを開始する必要がありますが、Android 3.1 以降では、ブート完了レシーバーをインターセプトするために、ユーザーは少なくとも 1 回は GUI を使用する必要があることに注意してください。ブート完了受信機は、最後にアラームが起動されたのはいつかを調べ、ユーザー設定に従って次のアラーム起動を設定する必要があります。

アンドロイドがあなたのサービスを殺した場合、調査を行う必要があります。私はここではお手伝いできません。

例を見る

于 2013-02-07T16:10:45.653 に答える
0

私は Mark の AlarmManager の実装を調べていませんが、一般に、あなたがやろうとしていることをそのままの AlarmManager に実行させる方法はありません。特定の時刻に単一のアラームをスケジュールするか、一定の間隔で繰り返される繰り返しアラームをスケジュールできます。説明したような複雑なスケジュールを処理するものが必要な場合は、それを行うコードを作成または検索する必要があります。

于 2013-02-06T15:41:50.230 に答える