作者darkk6 (Mr. Pan)
看板AndroidDev
标题Re: [问题] Widget 的 onUpdate
时间Sat May 25 11:52:39 2013
1F:→ gpc:Broadcast Receiver不可能会被GC05/25 03:41
2F:→ gpc:正确来说应该是 用完马上就GC05/25 03:42
3F:→ gpc:BR是一个很特殊的东西,详情请trace完整个framework你就明白了05/25 03:42
4F:→ gpc:你的钮会不作动是因为remoteview是挂在别人家 必须靠适当时间05/25 03:43
5F:→ gpc:把PendingIntent插到AppWidgetManager,05/25 03:44
6F:→ gpc:另外还有一种可能是你PendingIntent带的flag是否正确 05/25 03:44
7F:→ gpc:如果你是PendingIntent.getBroadXXXXX的话,记得要用UPDATE_CUR05/25 03:45
8F:→ gpc:老实说这问题我两三年前有遇过 後来解了XD 原因如上 05/25 03:46
9F:→ gpc:应该是launcher被关掉,导致remoteview 重来 但你没补新内容05/25 03:47
确实目前我的 PendingIntent flag 不是用 UPDATE_CURRENT
不过跑起来似乎问题也不大,我之後会全部改成 update current 试试看
我也是觉得问题出在 Launcher 被关掉,不过如果 Launcher 被关掉的话
当重新载入後,应该会在触发一次 onUpdate 吧...
bind onClicke pendingintent 是写在这边,这样应该不会出现甚麽问题才对?
gpc 大会觉得,每隔一段时间自己重新 bind 一次会比较好吗?
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.175.243.4
10F:→ gpc:你是说每一段时间就update一下吗? 这样你可能会获得一颗星喔 05/25 13:09
11F:→ gpc:现在的user都不付法律责任 很火爆的喔! 05/25 13:09
12F:推 gpc:我看我的code 都只有在onUpdate的时候 更新widget内容而已 05/25 13:12
13F:→ gpc:并没有特别做甚麽动作 你可试试看用PS把launcher直接砍掉 05/25 13:14
14F:→ gpc:kill -9 PID 然後再让launcher重载 看看你的widget动不动作 05/25 13:14
15F:→ gpc:我觉得是你的pendingintent设错了 flag设成0 好像只会处理1次 05/25 13:15
16F:→ darkk6:了解~ 等一下来试试看~ 05/25 23:24
17F:→ Assyla:是每次都同样的动作吗? 我之前有遇到类似的问题,每次都 05/28 22:05
18F:→ Assyla:会传一个字串,但後来的字串都读不到,後来每个intent都设 05/28 22:06
19F:→ Assyla:个乱数ID就解决了 05/28 22:06