android Calendar setInexactRepeating是如何工作的?

android Calendar setInexactRepeating是如何工作的?,android,calendar,alarmmanager,Android,Calendar,Alarmmanager,我正在开发小型android应用程序。几分钟后,我想在我的应用程序中做一些事情。这些分钟不是静态的,而是动态的。 因此,我使用android calender setInexactRepeating进行此操作。 我的代码如下所示 Calendar cal = Calendar.getInstance(); // Start something after 4 minutes cal.add(Calendar.MINUTE, 4); get_al

我正在开发小型android应用程序。几分钟后,我想在我的应用程序中做一些事情。这些分钟不是静态的,而是动态的。 因此,我使用android calender setInexactRepeating进行此操作。 我的代码如下所示

 Calendar cal = Calendar.getInstance();
        // Start something after 4 minutes 
        cal.add(Calendar.MINUTE, 4);
        get_alaram_service().setInexactRepeating(AlarmManager.RTC_WAKEUP,
            cal.getTimeInMillis(), 1000*300, get_pendingintent());
因此,这将在4分钟后运行setInexactRepeating,它将运行我的挂起意图,在这之后,它将在这么长的时间内继续重复此操作。(1000*300)

所以我的问题是,在setInexactRepeating中,第二个参数用于我想在什么时候启动计时器,第三个参数用于重复这件事。现在,第二个参数值以毫秒为单位。我试图以毫秒为单位传递我自己的分钟值,比如(1000*300),但它不能正常工作。我不知道它是如何正常工作的。当我检查cal.getTimeInMillis()时,它是一个非常大的整数。那到底是什么


我做错什么了吗需要你的帮助谢谢你

尽管第二个参数(triggerAtMillis)中没有明确说明这一点,但它是以毫秒为单位的自历元开始的时间。这就是回报。调用此方法将返回当前时间。这是一个很大的数字,因为它实际上是1970年1月1日之后的毫秒数。然后,您需要添加一些内容(例如4分钟)来定义AlarmManager何时首次启动