2013-08-12 4 views
0

Я пишу активацию для запуска приложений. В принципе, вот что я делаю.Некоторые приложения не будут обновляться?

  1. My container view for all appwidgets - это отдельная группа ViewGroup.
  2. При добавлении виджетов я сначала вызываю конфигурационную активность для добавляемого виджета.
  3. Я зову AppWidgetHost.startListening() в главном activity.onStart() и stopListening() в OnStop()
  4. При добавлении виджета, вот что я делаю application.getAppWidgetManager(). BindAppWidgetIdIfAllowed (appWidgetId, ComponentName); AppWidgetHostView hostView = application.getAppWidgetHost(). CreateView (контекст, appWidgetId, appWidgetInfo); hostView.setAppWidget (widgetId, appWidgetInfo); myViewGroup.addView (hostView);
  5. Я не вижу RemoteException в журналах и вызывает AppWidgetHost.startListening() агрессивно не помогает.

Кроме того, не все виджеты не обновляются, например, виджет часовых поясов работает нормально. Это особенно важно для Minimalistic Text Widget и некоторых других. Как только виджет будет добавлен, он сможет обновиться в течение 1 ~ 2 минут, прежде чем перестанет работать. Другое связанное наблюдение заключается в том, что когда я нажимаю миниатюрный виджет, изменяю макет и сохраняю. Новый макет не будет применяться к существующему виджетам. Это заставляет меня чувствовать, что в моем коде есть что-то нехорошее, но я не могу понять, где.

Благодарим за помощь!

Извините, я не могу вставить здесь подробный код, потому что они разбросаны. Но я могу предоставить любую подробную информацию, если вам нужно. Еще раз спасибо!

ответ

1

Ничего. В конце концов, я понял. Причина в том, что я использовал контекст приложения вместо контекста активности при создании AppWidgetManager и AppWidgetHost.

Смежные вопросы