当前位置: 移动技术网 > IT编程>移动开发>Android > android 定时启动\取消小例子

android 定时启动\取消小例子

2019年07月24日  | 移动技术网IT编程  | 我要评论

浙江海亮股份,赛尔号雷伊打阿克西亚,阿比泰克

复制代码 代码如下:

intent intent = new intent("cn.pocketdigi.update.alarm");
intent.setclass(this, alarmreceiver.class);
pendingintent pi=pendingintent.getbroadcast(this, 0, intent,0);
//设置一个pendingintent对象,发送广播
alarmmanager am=(alarmmanager)getsystemservice(alarm_service);
//获取alarmmanager对象
// am.set(alarmmanager.rtc_wakeup, system.currenttimemillis()+3500, pi);//只执行一次
am.setrepeating(alarmmanager.rtc_wakeup, system.currenttimemillis()+3500, 10000, pi); //重复执行

复制代码 代码如下:

<receiver android:name=".alarmreceiver">
<intent-filter>
<action android:name="cn.pocketdigi.update.alarm" />
</intent-filter>
</receiver>

复制代码 代码如下:

public class alarmreceiver extends broadcastreceiver {
private static final string tag = "alarmreceiver";
@override
public void onreceive(context context, intent intent) {
// todo auto-generated method stub
log.v(tag, "收到广播");
// intent it=new intent(context,alarmactivity.class);
// it.addflags(intent.flag_activity_new_task);
// context.startactivity(it);
//收到广播后启动activity,简单起见,直接就跳到了设置alarm的activity
//intent必须加上intent.flag_activity_new_task flag
}
}

取消方式:
复制代码 代码如下:

intent intent = new intent("cn.pocketdigi.update.alarm");
intent.setclass(this, alarmreceiver.class);
pendingintent pi=pendingintent.getbroadcast(this, 0, intent,0);
alarmmanager alarm=(alarmmanager)getsystemservice(alarm_service);
alarm.cancel(pi);

另外一种intent方式
代码
复制代码 代码如下:

intent intent =new intent(main.this, alarmreceiver.class);
intent.setaction("repeating");
pendingintent sender=pendingintent
.getbroadcast(main.this, 0, intent, 0);
//开始时间
long firstime=systemclock.elapsedrealtime();
alarmmanager am=(alarmmanager)getsystemservice(alarm_service);  //5秒一个周期,不停的发送广播
am.setrepeating(alarmmanager.elapsed_realtime_wakeup
, firstime, 5*1000, sender);

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网