Android难题 :如何判断两个PendingIntent是否相同?

============问题描述============


再做一个闹铃服务,
我在A类里面通过

PendingIntent pi_1=PendingIntent
.getBroadcast(context, re_1.getAlarm_id(), intent_1, 0);
aManager.set(AlarmManager.RTC_WAKEUP, notifyDate_1, pi_1);来创建一个提醒服务,
我又在一个类中将通过intent复原PendingIntent,然后取消: aManager.cancel(pi);
结果老是报告:NullPointerException
请问:
          1.如何判断两个PendingIntent是否相同,若不同如何查处不同之处?。

============解决方案1============


“将通过intent复原PendingIntent”是什么意思?
要取消的话,直接创建PendingIntent取消就可以了:

PendingIntent pi = PendingIntent.getBroadcast(context, re_1.getAlarm_id(), intent_1, 0);

AlarmManager alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);

alarmManager.cancel(pi);

============解决方案2============


取消时的PendingIntent要和创建时的一样。像楼上的取消时创建一个和创建时相同的PendingIntent。包括参数。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。