Android 安卓召回服务
如果我在活动中,我使用以下代码调用服务b:Android 安卓召回服务,android,Android,如果我在活动中,我使用以下代码调用服务b: String start = "start"; Intent i = new Intent(QScheduleActivity.this, UploadService.class); i.putExtra("start", start); startService(i) 一旦我进入该服务,如果需要,我如何从该服务中调用该服务 在else中,我试图回忆如下服务: Calendar cal = Calendar.g
String start = "start";
Intent i = new Intent(QScheduleActivity.this, UploadService.class);
i.putExtra("start", start);
startService(i)
一旦我进入该服务,如果需要,我如何从该服务中调用该服务
在else中,我试图回忆如下服务:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 30);
String start = "start";
Intent i = new Intent(UploadService.this, UploadService.class);
i.putExtra("start", start);
PendingIntent sender = PendingIntent.getBroadcast(this, 192837, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
看看这门课。我认为它提供了您所需要的功能,尽管可能与您描述的方式不同
从文件中:
此类提供对
系统报警服务。这些允许你
计划要运行的应用程序
在将来的某个时候。当
闹钟响了,那辆车坏了
已注册,由
系统,自动启动
目标应用程序(如果不是)
已经在运行了。已登记的警报为
在设备处于睡眠状态时保留
(并且可以选择唤醒设备
如果他们在这段时间内爆炸),但是
如果将其关闭,将被清除
然后重新启动
在else中,我试图回忆如下服务:
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MINUTE, 30);
String start = "start";
Intent i = new Intent(UploadService.this, UploadService.class);
i.putExtra("start", start);
PendingIntent sender = PendingIntent.getBroadcast(this, 192837, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
您要求的是
getBroadcast()
pendingent
。如果您的目标是让报警调用startService()
,您应该使用getService()
pendingent
希望我的解释正确..我想进入UploadService.class,这会检查是否存在internet连接,然后将文件上载到服务器,但是如果没有互联网连接,我想把它放在else语句中,让它自己回忆起来……所以回忆会一直发生,直到有互联网连接并且文件被上传。嗯,如果有人知道一种方法,可能会在检查互联网连接之前等待30分钟,因为我知道这会耗尽电池耶,我已经尝试过了但这似乎不起作用,我在想,可能是我没有正确调用服务…或者可能是从服务中调用服务的问题我建议您发布另一个关于使用AlarmManager的问题,包括您正在使用的代码。我已将其添加到此中,但我的第一个问题是从内部调用服务service@Usmaan:我认为您要做的是创建FileUploader服务,以便它始终在响应警报时运行。第一个警报将立即运行,这样,如果您已经具有连接,上传文件时就不会延迟。如果上传失败,则设置另一个警报,在30分钟后重试。(创建此功能还有其他方法,但我觉得这种方法最简单。)