1.关于生命周期
第一次创建时,会调用onEnable方法,以及onUpdate方法。
再次创建时,调用为onUpdate方法。
删除一个widget(此时桌面还存在另外的同样的widget),调用onDelete方法。
删除最后一个widget时,先调用onDelete方法,然后调用onDisable方法。
2.设置监听
PendingIntent的Flags为0代表该PendingIntent不带数据
Flags为PendingIntent.FLAG_CANCEL_CURRENT,则只有最后一次PendingIntent有效,之前的都无效了。
Flags为PendingIntent.FLAG_UPDATE_CURRENT,
PendingIntentcontentIntent = PendingIntent.getActivity(context, num,intent,PendingIntent.FLAG_UPDATE_CURRENT);
对于FLAG_UPDATE_CURRENT,如果上面的num为常量, 则所有对应的Intent里面的extra被更新为最新的, 就是全部为最后一次的。
相反,如果num每次不一样,则里面的Inent的数据没被更新。
所以要通过extra数据来区分intent,应采用PendingIntent.FLAG_UPDATE_CURRENT),且每次num不一样
Determine iftwo intents are the same for the purposes of intent resolution (filtering).That is, if their action, data, type, class, and categories are the same. Thisdoes not compare any extra data included in the intents.