2016-04-10 15 views
0

アラームサービスを使用してAndroidにスケジュール通知を作成する方法を知っていますが、今私がやりたいことはもっと頻繁に通知を作成することです。Android用リマインダー通知を作成する

たとえば、20分間隔で8時間通知をプッシュしたいとします。この場合、アラームサービスまたはtimertaskを使用すると効率的ですか?

いずれの方法であっても途中で取り消したいと思っています。ありがとう。

答えて

0

Timertaskは新しいスレッドを開始し、その中で動作します。あなたのアプリがバックグラウンドで動作し、あなたのアプリがアンドロイドによって閉鎖された場合、あなたは通知を受け取らないでしょう。 AlarmManagerは、システムアラームサービスへのアクセスを提供します。アラームが解除されると、登録されたインテントがシステムによってブロードキャストされ、ターゲットアプリケーションがまだ実行されていない場合は自動的に開始されます。 (link)。だから、たとえそれが閉じられていてもアプリを起動します。また、この通知でどのようにアプリが動作するかを理解する必要があります。ユーザーがアプリケーションで作業している間だけ動作する場合は、timertaskを使用できますが、バックグラウンドで作業する必要がある場合(たとえば、電話/タブレットでユーザーが作業しなくても通知を受け取るなど)、alarmanager 。それが役に立てば幸い。

+0

Oic。 5分の間隔で1時間アラームを設定したいとしたら、アラームマネージャを1つだけ設定できますか?どのようにキャンセルするのですか?私はそれを同時にキャンセルすることはできますか? – SamTew

+0

alarmmanagerをキャンセルするhttp://stackoverflow.com/a/3330782/2004305 通知を5分ごとに受信する必要がある場合は、setRepeatingを使用して通知を受信する間隔を繰り返し記述することができます。http://developer.android.com/reference /android/app/AlarmManager.html#setRepeating(int、長い、長い、android.app.PendingIntent) alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP、 FIVE_MINUTES、 FIVE_MINUTES、alarmIntent)。 – Dima

関連する問題