首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android召回服务

Android召回服务
EN

Stack Overflow用户
提问于 2011-01-20 20:53:47
回答 2查看 446关注 0票数 0

如果我在一个活动中,我会使用下面的代码调用服务b:

代码语言:javascript
复制
String start = "start";
    Intent i = new Intent(QScheduleActivity.this, UploadService.class);
    i.putExtra("start", start);
    startService(i)

一旦我进入此服务,如果需要,如何从服务中调用该服务?

在else中,我尝试像这样调用该服务:

代码语言:javascript
复制
        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); 
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-20 21:10:05

在else中的

我尝试像这样调用服务:

您请求的是getBroadcast() PendingIntent。如果您的目标是让报警呼叫startService(),则应该使用getService() PendingIntent

票数 0
EN

Stack Overflow用户

发布于 2011-01-20 21:00:16

看一下AlarmManager类。我认为它提供了您需要的功能,尽管可能不是以您所描述的方式。

从文档中:

此类提供对系统报警服务的访问。这些允许您安排您的应用程序在将来的某个时候运行。当警报响起时,系统将广播已为其注册的Intent,如果目标应用程序尚未运行,则会自动启动目标应用程序。设备处于休眠状态时,会保留已注册的警报(如果设备在此期间关闭,还可以选择唤醒设备),但如果设备关闭并重新启动,则会将其清除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4747350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档