重复警报无法正常工作

时间:2013-12-16 11:05:54

标签: android

我正在开发一个需要在每5天后发出警报的应用程序,因为我正在使用setRepeating方法,例如:今天日期是16因此警报应该在21上触发但是为了测试目的,我改变了我的设备日期16到17然后它突然发出警报,但它应该在5天后开始报警,我无法找出我做错了什么。请帮我 。提前谢谢。

AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        long check = 86400000; // no. of millisecond in days
        int days = Integer.parseInt(strDays);
        Intent intent = new Intent(getBaseContext(), AlarmReciever.class);
        intent.putExtra("Item", "Time To Pick Up " + strItemName);
        intent.putExtra("Id", 1);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(
                getBaseContext(), RQS_1, intent, 0);
long time =check*2; // for 2 days 
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),time,pendingIntent);

1 个答案:

答案 0 :(得分:1)

阅读setRepeating

的文档

http://developer.android.com/reference/android/app/AlarmManager.html#setRepeating(int,long,long,android.app.PendingIntent)

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),time,pendingIntent);

此处System.currentTimeMillis()表示警报应该立即开始,然后在5天后停止。

  

triggerAtMill是警报首先应以毫秒为单位的时间   关闭,使用适当的时钟(取决于报警类型)。