0
我已经创建了一个意向服务,它应该以用户定义的时间间隔向服务器发送数据,但在我的情况下,时间间隔不能由警报管理器正确维护。你能指导我在哪里做错误吗?我想在设备处于睡眠或空闲模式时运行服务。这是我的代码。意图服务时间间隔未维护
public void sosalarmson() {
Intent intent = new Intent(getApplicationContext(), AlarmReceiver.class);
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, AlarmReceiver.receivercode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), Integer.parseInt(userdefinedinterval) *60* 1000, pendingIntent);
Toast.makeText(FinalSettings.this, "alarm On", Toast.LENGTH_SHORT).show();
}
理想的情况下,如果我给用户输入15,所以报警器应在15分钟发送意图,而它在10分钟发送。
您使用了RTC而不是ElapsedTime,尽管按照文档,当RTC处于睡眠模式(挂钟时间,UTC)时,它不计算时间。仍然可以使用? –
我正在使用此代码在22:00每天运行。它正在执行确切的时间段。 –
有一点很清楚,如果我想以15分钟的间隔运行,我将用15 * 60 * 1000替换_alarm。但是在哪里放置时间就像是想在20点发射意图。 –