2016-11-23 35 views
1

我的應用程序包含一個由兩部分組成的App Widget:一個頭部和一個列表視圖集合。通過按下應用程序上的按鈕,同時更新兩個部分。API上的Widget問題25

在窗口更新,我叫updateAppWidgetnotifyAppWidgetViewDataChanged分別更新頭和收集。到目前爲止,沒有什麼不尋常的。

這已經正確地從API 15個到24 API但現在,在API 25(預覽1和2接收的OTA在Nexus 5X),奇怪的事情發生了:小部件隨機不更新時我按下按鈕

我一直在調試,問題似乎來自updateAppWidget後立即調用notifyAppWidgetViewDataChanged。當我在兩次電話之間拖延時,問題從未發生過。

就好像這些方法會在API 25上發生衝突一樣。但是由於預覽的源代碼尚未發佈,我無法看到裏面發生了什麼。

  • 有沒有人遇到過類似的問題?
  • 我在調用updateAppWidget之後通過調用notifyAppWidgetViewDataChanged做錯了嗎?我應該以不同的方式去做嗎?
+0

您可能會切換到其他主屏幕實現並查看是否也存在問題。這可能與主屏幕相比,更像是Android本身。 – CommonsWare

+0

@CommonsWare你是對的。我安裝了新星啓動器,進行了幾項測試,但問題不在那裏發生。這是否意味着Google Now Launcher可能在API 25上有錯誤?我如何驗證它? – jmart

+1

「這是否意味着Google Now Launcher可能在API 25上存在錯誤?」 - 根據你的描述,這將是我的猜測。 「我如何驗證它?」 - 我不知道是否有人創建了一個'AppWidgetHost',它可以作爲確認應用程序控件行爲的測試工具。我不是100%肯定這甚至是可能的。除此之外,除了嘗試幾個主屏幕之外,我沒有任何好的想法。 – CommonsWare

回答

0

好了,我對這個問題跟蹤器打開這個問題已經被標記爲「FutureRelease」,所以它實際上似乎有一個與Android的執行或對谷歌啓動了一個問題: https://code.google.com/p/android/issues/detail?id=228575

正如我解釋在評論中,同時可以使用的解決方法是在調用updateAppWidget和調用notifyAppWidgetViewDataChanged(對後者使用延遲可運行)之間添加1秒的延遲。