Mono For Android中AlarmManager的使用
最近做了一个应用,要求如下:
程序运行之后的一段时间,分别触发3个不同的事件。当然很快就想到了Android中的AlarmManager和BroadcastReceiver。但是毕竟Mono环境和Java环境还是有所不同的,那么在Mono环境下如何实现呢?
最初我是想获取3个AlarmManager来实现,每个AlarmManager控制一个事件的发生,采用3个不同的BroadcastReceiver来接受传递过来的Intent消息,但觉得这样有点浪费资源。后来仔细查看Api才发现只要合理的设置参数,就可以通过一个BroadcastReceiver来处理。具体参见以下函数:
获取AlarmManager实例:
private AlarmManager alarmMgr;
private PendingIntent alarmIntent;
alarmMgr = (AlarmManager)GetSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
alarmIntent = PendingIntent.GetBroadcast(context, , intent, ); alarmMgr.Set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() +
* , alarmIntent);
注意:由于是通过PendingIntent传递信息的,所以只要对PendingIntent对象的参数进行区别即可,及设置GetBroadcast()的第二和第四个参数,即可在不同时间,利用一个BroadcastReceiver来接受不同的intent了。
另外,在Mono环境下要注意定义自己的BroadcastReceiver类时,要记得在类名上加上[BroadcastReceiver],即注册这个类表明它是一个BroadcastReceiver。
好了,就这了,刚学习,也讲不出什么高深的东西,就把自己遇到的问题即解决方法记录下来吧!
Mono For Android中AlarmManager的使用的更多相关文章
- 【月入41万】Mono For Android中使用百度地图SDK
借助于Mono For Android技术,.Net开发者也可以使用自己熟悉的C#语言以及.Net来开发Android应用.由于Mono For Android把Android SDK中绝大部分类库都 ...
- mono for android中使用dapper或petapoco对sqlite进行数据操作
在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...
- Android中AlarmManager使用示例(持续更新,已经更改)
现在普遍的手机都会有一个闹钟的功能,如果使用Android来实现一个闹钟可以使用AtarmManager来实现.AtarmManager提供了一种系统级的提示服务,允许你安排在将来的某个时间执行一个服 ...
- Mono For Android中简单实现按钮的动画效果
Android中动画的分Tween Animation和Frame Animation,本节主要讲Tween Animation的实现. 一般是通过XML文件来定义动画的,具体如下: 1.在项目res ...
- Mono For Android中完美使用百度地图SDK(v2.1.2&v2.1.3)(转)
在Xamarin Mono For Android的开发中,如果要使用第三方的jar,就必须进行绑定.通过创建Java Bindings Library项目来自动生成C#到java的代码映射代码,最终 ...
- Android 中AlarmManager升级4.2
- mono for android学习过程系列教程(1)
直接进入主题,关于mono for android的学习,首先配置好环境,如何配置环境,度娘谷歌一大堆,记得使用破解版. 我自己是百度“黑马四期”传智播客的视频,里面有破解版开发环境的软件. 今天直接 ...
- mono for android 百度map binding项目(转)
好丫小子之前发布过百度地图android SDK的mono for android绑定dll,许多朋友看过之后说想理解是怎么绑定的,现我把绑定的代码发出来. 针对2.1.2版本百度地图android ...
- mono for android 第三课--页面布局(转)
对于C#程序员来说布局不是什么难事,可是对于我这个新手在mono for android 中布局还是有点小纠结的,不会没关系.慢慢学习.好吧我们开始简单的布局.在之前我们拖拽的控件都是自动的去布局,也 ...
随机推荐
- HTML5 Web存储(Web Storage)技术及用法
在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣 ...
- js中邦定事件与解绑支持匿名函数
和一个朋友讨论了一下,DOM2绑定方式都是有名的函数,匿名的处理起来有些麻烦,而且即使是有名的函数,在IE低版本的浏览器也是解除不掉的,this指向需要修改,着实费了一番功夫,这个是兼容ie低版本的, ...
- Android studio 配置JNI环境
Android studio配置jni开发环境,主要配置是两个build文件,以及新建一个jni文件,放c代码. 代码如下1: apply plugin: 'com.android.model.app ...
- jquery settimeout使用
setTimeout(location,5000); //延迟5秒刷新页面 function location(){ window.location.href = window.location.hr ...
- Python第一天-----简单登录验证
----------------------------------------- 编写登录接口 要求:1.输入用户名密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 -------------- ...
- Masstransit开发基于消息传递的分布式应用
使用Masstransit开发基于消息传递的分布式应用 Masstransit作为.Net平台下的一款优秀的开源产品却没有得到应有的关注,这段时间有机会阅读了Masstransit的源码,我觉得我有必 ...
- python操作redis-set
#!/usr/bin/python #!coding: utf-8 import redis if __name__=="__main__": try: conn=redis.St ...
- 正式学习React(五) Reactjs 的 PropTypes 使用方法
propTypes 使用來規範元件Props的型別與必需狀態 var Test = React.createClass({ propTypes: { // required requiredFunc: ...
- 混合使用Azure LB和ILB访问相同web服务(2)
那么现在开始,我们配置下两台WEB服务器的Internal Load balancer: 打开Powershell,检查当前两台虚拟机的端点配置: Get-AzureVM -ServiceName ...
- MySQL索引背后的数据结构及最左原则
MySQL索引原理 ##索引目的索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql.如果没有索引,那么你可能 ...