appwidgets をホストするランチャー アクティビティを作成しています。基本的にここで私がやっていることです。
- すべての appwidget のコンテナー ビューは、カスタマイズされた ViewGroup です。
- ウィジェットを追加するときは、追加するウィジェットの構成アクティビティを最初に呼び出します。
- メイン activity.onStart() で AppWidgetHost.startListening() を呼び出し、onStop() で stopListening() を呼び出しています。
- ウィジェットを追加するとき、これが私がすることです application.getAppWidgetManager().bindAppWidgetIdIfAllowed(appWidgetId, componentName); AppWidgetHostView hostView = application.getAppWidgetHost().createView(context, appWidgetId, appWidgetInfo); hostView.setAppWidget(widgetId, appWidgetInfo); myViewGroup.addView(hostView);
- ログに RemoteException が表示されず、 AppWidgetHost.startListening() を積極的に呼び出しても役に立ちません。
さらに、すべてのウィジェットが更新に失敗するわけではありません。たとえば、在庫時計ウィジェットは正常に動作します。これは、Minimalistic Text Widget などで特に発生します。ウィジェットが追加されると、動作を停止するまで 1 ~ 2 分間更新できます。関連するもう 1 つの観察結果は、Minimalistic ウィジェットをタップすると、レイアウトが変更されて保存されることです。新しいレイアウトは既存のウィジェットには適用されません。コードにバグがあるように感じますが、どこにあるのかわかりません。
事前に助けてくれてありがとう!
申し訳ありませんが、詳細コードが散らばっているため、ここに貼り付けることができません。しかし、必要に応じて詳細情報を提供できます。再度、感謝します!