在特定时间发送通知

时间:2018-02-06 08:02:08

标签: java android notifications android-notifications android-timepicker

我一直试图在特定时间发送通知。我有这样的用户输入时间:

$(document).ready(function () {

   $.ajax({
       type: "GET",
       url: "http://example.com/bills/resources",
       success: function(result)
       {
           data = result;
           loadData(result);

       }
   });

});

现在我想发送有关特定currentTimeHour = new Time(System.currentTimeMillis()).getHours(); currentTimeMinute = new Time(System.currentTimeMillis()).getMinutes(); TimePickerDialog dialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker timePicker, int i, int i1) { hour = i; minute = i1; } }, currentTimeHour, currentTimeMinute, false); &的通知。用户通过Hour提供的minute。但是我被卡住了......

非常感谢完整的解决方案......

2 个答案:

答案 0 :(得分:0)

用于此类任务使用alarmManager或jobScheduler

https://developer.android.com/topic/performance/scheduling.html

答案 1 :(得分:0)

每个人都告诉您使用Alarm Manager类,但没有提供示例代码。这是我的实施之一。

    AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
    alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);

    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 02);
    calendar.set(Calendar.MINUTE, 00);

// setRepeating() lets you specify a precise custom interval--in this case,
// 1 day
    alarmMgr.setRepeating(AlarmManager.RTC, calendar.getTimeInMillis()/1000,
            AlarmManager.INTERVAL_DAY, alarmIntent);

在这里,您需要提供您想要调用意图的时间。在我的代码中,每晚凌晨2点。同样,对于重复间隔,我选择了一天,因为我的过程需要每天调用。 问我,如果您在理解代码时遇到困难,或者这是否解决了您的问题,请将此标记为已接受。谢谢。