為什麼 Android 中安裝在 SD 卡上的應用無法添加 Widget?
01-06
安裝在SD卡上的應用無法添加Widget,也就是長按桌面空白處以後添加小工具里根本沒有該應用的Widget選項,而將應用移到手機內存里就可以添加Widget了,想知道這是為什麼?
因為widget是在啟動的時候載入的,而SD卡是在啟動以後載入的,有可能導致widget需要載入的時候SD卡還沒有載入系統,這樣就會導致widget的載入失敗,而widget的機制導致其不會再次載入,所以禁止安裝到SD卡上的應用開啟widget功能。
Offical的App2sd有限制的,官方網頁 http://developer.android.com/guide/appendix/install-location.html#ShouldNot
因為widget比sd卡載入的要早。
同時,個人建議輸入法,live Wallpaper也不要做 2sd和Widget的生命周期有關,onEnable()只有在創建的時候被調用一次,以後只會調用onUpdate()來刷新;而一般Widget的資源載入都是在onEnable()中完成的。
onEnable()一般是在系統啟動後就開始載入了。推薦閱讀:
※Android 5.0 如何實現將布局的內容延伸到狀態欄?
※最近Android studio出了1.0版,但是SDK一直無法下載,請問大家是怎麼解決的?
※如何成為 Android 開發高手?
※sdk manager更新失敗,顯示Download interrupted: read timed out,應該如何解決?
※Vivo Xplay5要配備6G內存。Android系統真的需要這麼大的內存嗎?