检查alarmManager是否已经运行

时间:2015-07-23 03:44:45

标签: android alarmmanager

我已阅读此问题:How to check if AlarmManager already has an alarm set?

Chris Knight的答案可能是最正确的答案。但我在布尔行中并没有理解:

boolean alarmUp = (PendingIntent.getBroadcast(context, 0, 
        new Intent("com.my.package.MY_UNIQUE_ACTION"),   <--------?
        PendingIntent.FLAG_NO_CREATE) != null);

&#34; com.my.package.MY_UNIQUE_ACTION&#34;来自?

它来自清单还是什么?

我很抱歉重复。

2 个答案:

答案 0 :(得分:2)

$(this).addClass('active').siblings().removeClass('active');
//^^ instead of $('.nav li')

在上述状态&#34; com.mypackage&#34;包名称为&#34; MY_UNIQUE_ACTION&#34;是处理AlarmManager的类名。

这里的关键是FLAG_NO_CREATE,如javadoc中所述:如果描述的PendingIntent 不存在,则只返回null(而不是创建一个新的)

所以从上面的语句中你可以知道,如果AlarmManager类正在运行,则boolean值返回true,否则返回false。

您可以通过各种方法获取包名称

  1. 只需输入包名称即可。
  2. 如上所述in this link

答案 1 :(得分:0)

Intent intent = new Intent("com.my.package.MY_UNIQUE_ACTION");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, 
                                      intent, PendingIntent.FLAG_UPDATE_CURRENT);