私は、毎日の午前8時30分にで通知を送信して、その日にイベントがあるかどうかを確認します。毎日特定の時間にサービス/アラームを起動するようにアプリを設定するにはどうすればよいですか?
通知が送信される日付を格納するSQLlite DBがあります。私のアプリから欲しいのは、これは、毎朝8時に、今日のイベントがあるかどうかをチェックする必要があります。その日のイベントがある場合は、通知を送信します。
私は既にDBと通知で部品を実装しています。毎日午前8時にアプリがDBをチェックする部分を実装するだけです。
**更新:**現在の時刻が8:00かどうかを確認するサービスを作成しました。以下はそのサービスのコードです。
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("inside on start command for service");
myPrefs = this.getSharedPreferences("settings", this.MODE_PRIVATE);
checkTime();
return START_STICKY;
}
// to check if the time for alarm is here
private void checkTime() {
// TODO Auto-generated method stub
try{
System.out.println("inside check time");
Calendar cal;
cal = Calendar.getInstance();
if (08 == cal.get(cal.HOUR_OF_DAY) && 00 == cal.get(cal.MINUTE)) {
// to call db and check for events
nm = new MyNotificationManager(this);
if (nm.checkEvent()) {
nm.setNotifications();
}
}
}catch(Exception e){
System.out.println("inside exception for check time "+e.toString());
}
}
問題はサービスが時間を1回だけチェックしていることです。それは毎分の時間をチェックする方法は? 誰も助けてくれますか?
私も同じ問題に直面しています。 https://stackoverflow.com/questions/47324975/alarm-everyday-at-5am-morning-android あなたのソリューションを私と共有できますか? – XoXo