AlarmManager 使用小结
来源:互联网 发布:中国男演员演技知乎 编辑:程序博客网 时间:2024/05/16 02:59
AlarmManager方法总结
set(int type,long startTime,PendingIntent pi);
该方法用于设置一次性闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟执行时间,第三个参数表示闹钟响应动作。setRepeating(int type,long startTime,long intervalTime,PendingIntent pi);
该方法用于设置重复闹钟,第一个参数表示闹钟类型,第二个参数表示闹钟首次执行时间,第三个参数表示闹钟两次执行的间隔时间,第四个参数表示闹钟响应动作。setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi);
该方法也用于设置重复闹钟,与第二个方法相似,不过其两个闹钟执行的间隔时间不是固定的而已。它相对而言更节能一些,因为系统可能会将几个差不多的闹钟合并为一个来执行,减少设备的唤醒次数。cancel(PendingIntent operation)
取消一个设置的闹钟setTimeZone(String timeZone)
设置系统的默认时区。需要android.permission.SET_TIME_ZONE权限
注意
使用AlarmManager启动Service时,用Service的action(service在Manifest中声明多个action)来启动,防止用service.class导致PendingIntent相互覆盖影响的情况!重要!
PendingIntent使用的三种情况
通过getActivity(Context context, int requestCode, Intent intent, int flags)系列方法从系统取得一个用于启动一个Activity的PendingIntent对象
通过getService(Context context, int requestCode, Intent intent, int flags)方法从系统取得一个用于启动一个Service的PendingIntent对象
通过getBroadcast(Context context, int requestCode, Intent intent, int flags)方法从系统取得一个用于向BroadcastReceiver的Intent广播的PendingIntent对象
PendingIntent的第4个参数
FLAG_CANCEL_CURRENT:如果当前系统中已经存在一个相同的PendingIntent对象,那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。
FLAG_NO_CREATE:如果当前系统中不存在相同的PendingIntent对象,系统将不会创建该PendingIntent对象而是直接返回null。
FLAG_ONE_SHOT:该PendingIntent只作用一次。在该PendingIntent对象通过send()方法触发过后,PendingIntent将自动调用cancel()进行销毁,那么如果你再调用send()方法的话,系统将会返回一个SendIntentException。
FLAG_UPDATE_CURRENT:如果系统中有一个和你描述的PendingIntent对等的PendingInent,那么系统将使用该PendingIntent对象,但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,例如更新Intent中的Extras。
- AlarmManager 使用小结
- AlarmManager使用
- AlarmManager使用
- 使用AlarmManager
- AlarmManager使用
- AlarmManager使用
- 【AlarmManager】使用AlarmManager定时任务
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager的使用
- AlarmManager 基本使用
- Android AlarmManager使用
- AlarmManager的使用
- AlarmManager 的使用
- Java的Redis连接池代码性能最佳
- 变量的生命周期
- 关于MySQL由于外键约束而无法执行删除操作的一个简单的解决办法
- connect、resource角色的演变和Oracle权限简介
- iOS 实现电话号的星号加密
- AlarmManager 使用小结
- 安卓布局 - 线性布局(LinearLayout)
- 三色旗问题
- 关于转义字符 \t \r \n
- 452. Minimum Number of Arrows to Burst Balloons
- 利用EXCEL将多列多行数据转换为SQL语句【新增、删除、修改同理】
- javascript 封装
- iOS-裁剪图片
- 使用TP上传类,一个表单多个file上传丢失部分文件