Android如何根据我的sqlite数据库中设置的时间设置警报?

时间:2016-03-02 22:38:57

标签: android alarmmanager time-format

我有一个应用程序,它从称为任务的Web服务接收数据,然后将任务保存到我的SQLite数据库。我接下来要做的是查询这些任务,然后根据它们被设置为触发的时间设置警报。假设我有一个任务名称“feed”,任务触发的时间是'09:00 AM'(我的时间使用'h:i A'格式)。如何将此时间格式转换为alarmManager可以读取的内容?

public void setAlarm(int uniqueid, int duration) {
    Intent intent = new Intent(this, AlarmReceiver.class);
    intent.setAction(AlarmReceiver.ACTION_ALARM_RECEIVER);//my custom string action name
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, uniqueid, intent, 0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);

    alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
            + (duration * 1000), pendingIntent);
    Toast.makeText(this, "Alarm set for " + uniqueid, Toast.LENGTH_LONG).show();
}

2 个答案:

答案 0 :(得分:2)

试试这个,看看它是否适合你

Date mDate = new Date();
Calendar mCalendar = Calendar.getInstance();
mCalendar.setTime(mDate);
mCalendar.add(Calendar.MINUTE, 2);

long alarmInTwoMinutes = mCalendar.getTimeInMillis();

alarmManager.set(AlarmManager.RTC_WAKEUP, alarmInTwoMinutes, pendingIntent);

更新到特定时间的设置

Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 9);
calendar.set(Calendar.MINUTE, 30);

long alarmInTwoMinutes = calendar.getTimeInMillis();

要重复,您可以使用

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, alarmInTwoMinutes, pendingIntent)

答案 1 :(得分:0)

class animal(object):
    def do_stuff(self):
        return self.__yell() 

class dog(animal):
    def yell(self):
        print("yelling")

使用毫秒。