android 定时启动取消小例子
android 定时启动取消小例子
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:Intentintent=newIntent("cn.pocketdigi.update.alarm");intent.s...

复制代码 代码如下:

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);

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类