我使用闹钟每15天开始一次服务。警报在第一次安装时启动。一旦警报触发正常服务,每隔15天,但在启动警报时服务开始。我不想在安装时启动服务。如何阻止这一点。 我不知道我是否使用了错误的格式?
注意:除了这种情况,我不会在任何地方开始服务。
Intent intent = new Intent(context, InitiateService.class);
PendingIntent pIntent = PendingIntent.getService(context, 12345, intent, PendingIntent.FLAG_CANCEL_CURRENT);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 15 * AlarmManager.INTERVAL_DAY, pIntent);
这是我在清单文件中使用的。
<service android:name=".service.InitiateService" />
这是我每隔15天启动一次服务警报的代码。
伙计如果有人在我的问题中发现任何错误,请向我道歉并请纠正这些错误并回答我。
答案 0 :(得分:1)
这是因为您使用了 System.currentTimeMillis()
试试这个
System.currentTimeMillis()*(15 * AlarmManager.INTERVAL_DAY)
alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()*(15 * AlarmManager.INTERVAL_DAY), 15 * AlarmManager.INTERVAL_DAY, pIntent);
答案 1 :(得分:1)
@Mehul Gajjar关于$sql=mysqli_query($connect,"select * from db_comment where member_id=52");
所以你可能想要替换
System.currentTimeMillis()
带
System.currentTimeMillis()
说明:
(15 * 24 * 60 * 60 * 1000 * System.currentTimeMillis())
会将闹钟设置为当前时间,因此您的服务将立即开始。 15天后设置警报将解决您的问题。
System.currentTimeMillis()
将等于15天。将它乘以当前的时间里程将给你15天后的当前时间。
简而言之,您的代码就像
15 * 24 * 60 * 60 * 1000
我希望这会对你有所帮助。