关于widget的一些知识

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. 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值