Android AppWidget загружается дольше при загрузкеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android AppWidget загружается дольше при загрузке

Сообщение Anonymous »

Если идентификаторы виджетов уже сохранены в платформе Android, при загрузке Homescreen использует существующие идентификаторы и вызывает addView для загрузки виджета. Но после вызова addView требуется 14 секунд, чтобы получить широковещательные сообщения android.appwidget.action.APPWIDGET_ENABLED и android.appwidget.action.APPWIDGET_UPDATE в классе поставщика Appwidget. Из-за этого виджет загружается на главном экране с задержкой.
Не могли бы вы помочь понять, как оптимизировать время загрузки?
Следующий код используется для добавления представления на главном экране. запустить-

Код: Выделить всё

private void loadWidgets(WidgetInfo info, FrameLayout
frameLayoutContainer, AppWidgetHostView view) {

if (info.getAppWidgetInfo() != null) {
frameLayoutContainer.removeAllViews();
if (view.getParent() != null) {
((ViewGroup) view.getParent()).removeView(view);
}
view.setPadding(WIDGET_PADDING, WIDGET_PADDING, WIDGET_PADDING, WIDGET_PADDING);
frameLayoutContainer.addView(view);
frameLayoutContainer.invalidate();

} else {
frameLayoutContainer.removeAllViews();
frameLayoutContainer.invalidate();
frameLayoutContainer.setBackgroundColor(Color.TRANSPARENT);
}
}
private void bindWidget(WidgetInfo info) {
if (info.getAppWidgetInfo() == null || info.getAppWidgetInfo().provider == null) {

return;
}
try {
AppWidgetManager widgetManager = AppWidgetManager
.getInstance(requireContext().getApplicationContext());
boolean bindWidgetStatus = widgetManager
.bindAppWidgetIdIfAllowed(info.getWidgetId(), info.getAppWidgetInfo().provider);

} catch (Exception e) {
Log.e(TAG, "bindWidget Unexpected error: " + e.getMessage());
e.printStackTrace();
}
}
В случае нового запуска, когда идентификатор виджета не хранится в платформе, он вызывает метод bindAppWidgetIdIfAllowed. Когда идентификаторы уже присутствуют, он вызывает addView. Насколько я понимаю, широковещательные рассылки отправляются на основе bindAppWidgetIdIfAllowed или addView.
Как мы можем ускорить широковещательную рассылку?

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-boot-up
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android.content.res.Resources$NotFoundException | Ошибка при раздувании AppWidget
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Анимация перехода активности Android AppWidget PendingIntent
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Можно ли изменить начальный макет Android AppWidget перед onUpdate?
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Можно ли изменить начальный макет Android AppWidget перед onUpdate?
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как обновить Android AppWidget в полночь
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»