2016-03-24 10 views
0

小さなアプリケーションウィジェットを開発していて、リモートビューの更新に問題があります。ウィジェットは、システムコールを通じ更新する場合、すべてがOKですが、私はこのコードを私のサービスからの更新ウィジェットをしようとしたとき:Androidアプリケーションウィジェットの更新中に奇妙なビューグリッチが発生する

AppWidgetManager widgetManager = AppWidgetManager.getInstance(this); 
ComponentName widgetComponent = new ComponentName(this, NBRBAppWidget.class); 
int[] widgetIds = widgetManager.getAppWidgetIds(widgetComponent); 
Intent update = new Intent(); 
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds); 
update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE); 
sendBroadcast(update); 

私のウィジェットビューグリッチ。グリッチの例は、私は誰もがこの出来事が、知っている私に与えてください、なぜいくつかの仮定を持っている場合は、その更新ビューの方法は7-20ms

を取っ確認

Video of RemoteView glitches

下のビデオです。ウィジェットのグリッチを回避するために

答えて

0

私はちょうどACTION_APPWIDGET_UPDATE放送の送信を削除して、このように、代わりにそれをRemoteViewを呼び出す:

AppWidgetManager widgetManager = AppWidgetManager.getInstance(this); 
ComponentName widgetComponent = new ComponentName(this, NBRBAppWidget.class); 
int[] widgetIds = widgetManager.getAppWidgetIds(widgetComponent); 
for (int i = 0; i < widgetIds.length; i++) { 
    NBRBAppWidget.updateWidget(this, widgetManager, widgetIds[i]); 
} 

NBRBAppWidget.updateWidgetは、リモートビュー

への呼び出しを行う方法であり、
関連する問題