Launcher3添加widget(目前只发现微博)会出现点击无反应(旋转屏幕后很大概率发生),不知道是微博的原因还是系统的原因。(微博的原因的话,我们不是什么大公司也不可能让它来适配我们)所以只能是我们的原因了。
我在操作的时候发现当widget改变大小时他会复活(可点击了)
所以我想能不能在bindWidget时候执行改变大小的操作,但又不变大小。
我做的如下改变
diff --git a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java b/packages/apps/Launcher3/src/com/android/launc
index 1aefe1a..e78be41 100644
--- a/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
+++ b/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
@@ -3959,8 +3959,14 @@ public class Launcher extends Activity
Log.d(TAG, "bindAppWidget: id=" + item.appWidgetId + " belongs to component "
+ appWidgetInfo.provider);
}
-
+ AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
+ Bundle oldOptions = appWidgetManager.getAppWidgetOptions(appWidgetId);
item.hostView = mAppWidgetHost.createView(this, appWidgetId, appWidgetInfo);
+ if (oldOptions != null) {
+ item.hostView.updateAppWidgetOptions(oldOptions);
+ } else {
+ Log.d(TAG,"APPWidget Options is null appWidgetId="+appWidgetId);
+ }
item.minSpanX = appWidgetInfo.minSpanX;
item.minSpanY = appWidgetInfo.minSpanY;
这样可以实现功能但有点投机取巧,如有大神知道什么原因,欢迎指教。