如果我在活动中,我使用以下代码呼叫服务b:
String start = "start";
Intent i = new Intent(QScheduleActivity.this, UploadService.class);
i.putExtra("start", start);
startService(i)
一旦我进入这项服务,如果需要,我如何从服务中召回服务?
在其他内部我试图回忆起这样的服务:
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);
答案 0 :(得分:0)
查看AlarmManager课程。我认为它提供了您需要的功能,但可能与您描述它的方式不同。
来自文档:
此类提供对 系统报警服务。这些允许你 安排您的应用程序运行 在未来的某个时刻。当一个 警报响起,有Intent 已经注册的是广播 系统,自动启动 目标应用程序,如果不是 已经运行。注册的警报是 在设备睡着时保留 (并且可以选择唤醒设备 如果他们在那段时间内离开),但是 如果关闭,将被清除 并重新启动。
答案 1 :(得分:0)
在其他内部我试图回忆起这样的服务:
您要求getBroadcast()
PendingIntent
。如果您的目标是拨打警报startService()
,则应使用getService()
PendingIntent
。