百恒网络
如何使用PendingIntent 管理定时器?
  • 百恒服务
  • APP开发
  • 网页案例
  • 网页知识
  • 关于我们
  • 联系我们
  • 如何使用PendingIntent 管理定时器?

    2017-04-14 16:07:39 3517
           南昌APP开发公司的安卓开发人员都知道,一个PendingIntent只能登记一个定时器。这也是isOn值为false时,setServiceAlarm (Context, boolean)方法的工作原理:首先调用AlarmManager.cancel(PendingIntent)方法撤销PendingIntent的定时器,然后撤销PendingIntent。
           既然撤销定时器也随即撤消了PendingIntent,可通过检查PendingIntent是否存在来确认定时器激活与否。具体代码实现时, 传入PendingIntent.FLAG_NO_CREATE 标志给PendingIntent.getService(...)方法即可。该标志表示如果PendingIntent不存在,则返回null,而不是创建它。
           添加一个名为isServiceAlarmOn(Context)的新方法,并传入PendingIntent.FLAG_NO_CREATE标志,以判断定时器的启停状态,如下代码所示:
           添加isServiceAlarmOn()方法(PollService.java)
           public class PollService extends IntentService {
           ...
           public static void setServiceAlarm(Context context, boolean isOn) {
           ...
           }
           public static boolean isServiceAlarmOn(Context context) {
           Intent i = PollService.newIntent(context);
           PendingIntent pi = PendingIntent
           .getService(context, 0, i, PendingIntent.FLAG_NO_CREATE);
           return pi != null;
           }
           ...
           }
           这里的PendingIntent仅用于设置定时器,因此PendingIntent空值表示定时器还未设置。
           以上就是百恒网络今天所要讲的使用PendingIntent 管理定时器的方法,在南昌APP开发中,还会有更多的方法或碰到一些难题,百恒网络拥有专业的安卓开发大师,具备五年以上的开发经验,精通安卓、苹果双端,不管哪种难题都能为您轻松解决,如有需要APP开发服务的朋友,随时欢迎咨询百恒网络,我们专业为您定制开发!
    展开分享
    服务
    案例
    首页
    动态
    联系
    咨询