首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓:如何使用AlarmManager

安卓:如何使用AlarmManager
EN

Stack Overflow用户
提问于 2009-07-04 15:41:20
回答 4查看 88.8K关注 0票数 92

我需要在设置AlarmManager的20分钟后触发一个代码块。

有人能给我展示一下如何在ِ安卓系统中使用AlarmManager的示例代码吗?

我已经玩了几天的代码,它就是不能工作。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-07-04 19:30:03

当涉及到AlarmManager时,“一些示例代码”并不是那么容易。

下面是显示AlarmManager设置的代码片段

代码语言:javascript
复制
AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(context, OnAlarmReceiver.class);
PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);

mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), PERIOD, pi);

在本例中,我使用的是setRepeating()。如果你想要一个一次性的警报,你可以直接使用set()。请确保在set()的初始参数中使用的相同时基上提供警报开始的时间。在上面的例子中,我使用的是AlarmManager.ELAPSED_REALTIME_WAKEUP,所以我的时基是SystemClock.elapsedRealtime()

展示这项技术的Here is a larger sample project

票数 111
EN

Stack Overflow用户

发布于 2015-04-15 06:34:37

我想发表评论,但<50个代表,所以这里。友好的提醒,如果你在5.1或更高版本上运行,并且你使用的时间间隔不到一分钟,就会发生这种情况:

代码语言:javascript
复制
Suspiciously short interval 5000 millis; expanding to 60 seconds

参见here

票数 4
EN

Stack Overflow用户

发布于 2011-11-03 19:39:38

当您想要从Alarmmanager调用服务时,一些示例代码:

代码语言:javascript
复制
PendingIntent pi;
AlarmManager mgr;
mgr = (AlarmManager)ctx.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(DataCollectionActivity.this, HUJIDataCollectionService.class);    
pi = PendingIntent.getService(DataCollectionActivity.this, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() , 1000, pi);

您不必询问用户权限。

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

https://stackoverflow.com/questions/1082437

复制
相关文章

相似问题

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