【发布时间】:2015-07-19 00:01:26
【问题描述】:
我正在使用警报管理器在特定时间启动服务,这工作正常,但现在如果用户更改设备时间,服务将根据该时间启动。
代码:
calendar = new GregorianCalendar();
calendar.setTimeInMillis(System.currentTimeMillis());
cal = new GregorianCalendar();
cal.add(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR));
cal.set(Calendar.HOUR_OF_DAY, 11);
cal.set(Calendar.MINUTE, 57);
cal.set(Calendar.SECOND, calendar.get(Calendar.SECOND));
cal.set(Calendar.MILLISECOND, calendar.get(Calendar.MILLISECOND));
cal.set(Calendar.DATE, calendar.get(Calendar.DATE));
cal.set(Calendar.MONTH, calendar.get(Calendar.MONTH));
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Intent it = new Intent(MainActivity.this,Start_service_alarm.class);
it.putExtra(Start_service_alarm.ACTION, Start_service_alarm.ACTION);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, it, 0);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
【问题讨论】:
-
@Manish 怎么用?
-
我猜你可能需要依赖你的服务器。您可以要求设置闹钟的时间。
-
@MehulJoisar 无论设备时间如何,我都不能在 android 中获得实时吗?
-
@EdwardCollins:AFAIK,你不能。见reference
-
@MehulJoisar 我想让警报管理器在本地时间而不是设备设置时间上工作怎么可能
标签: android real-time alarmmanager