1、android中通常是使用AlarmManager来定时启动一个单次或重复多次操作的。具体的说就是我们通过AlarmManager设定一个时间和注册一个intent到系统中,然后在该时间到来时,系统为我们发送一个广播,即执行我们设定的Intent(要执行的操作),通常我们使用 PendingIntent来实现%26ldquo;要执行的操作%26rdquo;,PendingIntent可以理解为Intent的封装包,简单的说就是将来要执行的Intent操作。他们的区别是:在使用Intent的时候,我们还需要在执行startActivity、startService或sendBroadcast才能使Intent有用,而PendingIntent的话就是将这个动作包含在内,可以直接执行。
定义一个PendingIntent对象。
// 启动service Intent intent = new Intent(instance, RecommendService.class);//新建一个可以执行当前context操作的Intent intent.putExtra("userInfoBody", userInfoBody); intent.putExtra("isDynamic", true); intent.putExtra("content", comment); if (!TextUtils.isEmpty(sayhiOrCollect)) { intent.putExtra("sayhiOrCollect", sayhiOrCollect); }