在我的应用程序中,我有一个同步按钮,可以在用户希望的时候运行服务。它会保存按下按钮的日期和时间。我希望在上次同步后每24小时运行一次该服务。例如。如果我在" Fri Jan 15 00:00:00 GMT + 05:30 2016"(第一个日期)按下同步按钮,它应该增加24小时成为" Sat Jan 16 00: 00:00 GMT + 05:30 2016"(第二个日期)然后每当我打开我的应用程序的任何屏幕时,它应该检查第二个日期与当前日期,如果它发现日期相同或当前日期是大于第二个日期,它应该自动运行该服务。 我在向同步日期添加24小时并将其与当前日期进行比较时遇到问题。应该是什么解决方案?
答案 0 :(得分:1)
完成你的东西后,设置24小时的alaram。 演示代码:
AlarmManager alarmMgr = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(youractivity.this, ShortTimeEntryReceiver.class);
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pendingIntent = PendingIntent.getBroadcast(youractivity.this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmMgr.cancel(pendingIntent);
alarmMgr.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 1000 * 3600 * 24, pendingIntent);
创建收件人:
public class ShortTimeEntryReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
try {
Toast.makeText(context, "24 hours completed", Toast.LENGTH_LONG).show();
} catch (Exception e) {
Log.d("expiredd exception", "exceptionnnn " + e.toString());
}
}
别忘了在清单中注册您的收件人
<receiver android:name=".ShortTimeEntryReceiver">
</receiver>