2 hcg 21 hcg_21 于 2012.12.14 13:28 提问

有什么办法可以验证设置好的警报器是否启动?

当我的应用程序启动时,我想检查一下之前设置的警报器是否也启动。如果没有启动,如何设置?
这样设置intent后

Intent intent = new Intent();
        intent.setAction("com.vit.upload");
        PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_NO_CREATE);

但是启动程序时,警报器还是不能启动?请问这个问题出在哪里?

2个回答

CSDN_Ask
CSDN_Ask   2012.12.19 13:52
已采纳

你可以通过创建每一个唯一的IP来区分alarms

Intent intent = new Intent(this, AlarmReceiverActivity.class);
PendingIntent pi = PendingIntent.getActivity(this,UNIQUE_ID_GOES_HERE, intent, 0);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, triggerAtMillis ,pi);

当要访问这个alarm,需要在相同的ID中创建相同的PendingIntent。例如下面这个例子是只访问 PendingIntent id 是1234的alarm,然后他会取消之前的alarm重置。

Intent intent = new Intent(this, AlarmReceiverActivity.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 1234, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, triggerAtMillis ,pi);
cytown
cytown   2012.12.14 14:49
PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!