169 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Не удалось загрузить виджет Android

Сообщение “проблема загрузки виджета”

при загрузке виджета, если он не может найти ресурс или что-то, что он говорит, проблема загрузки виджета. Вот и все! Потрясающе! Это сообщение остается на главном экране и даже не говорит, какой виджет он имел проблемы с загрузкой.

Я понял это методом проб и ошибок, но я хотел бы знать, есть ли какие-либо места, чтобы найти сообщение об ошибке, когда это происходит. Где Android скажет, какая проблема была при загрузке виджета или даже какой виджет не удалось загрузить?

18 ответов

Как сказано в комментариях, проверьте logcat. То, что вы увидите, является NullPointerException. У меня тоже такое бывало.

Проверьте элементы, которые вы использовали в представлении в виджете..

объект RemoteViews (и, следовательно, виджет приложения) может поддерживать следующие классы компоновки:

  • FrameLayout
  • LinearLayout
  • RelativeLayout
  • GridLayout

и следующий виджет классы:

  • AnalogClock
  • секундомер
  • ImageButton
  • ImageView
  • ProgressBar
  • TextView
  • ViewFlipper
  • ListView с
  • GridView
  • StackView
  • AdapterViewFlipper

использование запрещенных элементов вызывает это очень

Проблема Загрузки Виджета

еще одна возможная причина этого:

Я видел это в журнале:

не удалось разрешить атрибут

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

изменение этого на определенный цвет решило проблему.

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

когда это происходит, все, что вы видите, это “проблема загрузки виджета” в тосте, как поле на главном экране. Насколько я могу судить, виджет получает не indicatation, что пакет удаляется и думаю тогда дома систем экран thows сообщение по умолчанию.

Не хорошо продуманное поведение со стороны команды OS. Я предлагаю, что было бы лучше вызвать методы ondisbled() и onDestroy() виджета, прежде чем пакет будет удален, чтобы они могли убирать, если это необходимо, и пользователь (не-geek phone user) получает чистый опыт.

Я также сталкиваюсь с этой проблемой, но только из-за тяжелого макета виджета. Макет виджета должен быть легким, насколько вы можете создать. Теперь мой виджет работает идеально.

проблема загрузка результатов виджета из проблемы / с в макете виджета!

есть только ограниченное количество ресурсов, которые можно использовать в виджете.Убедитесь, что вы используете правильные элементы и их поля.

объект RemoteViews (и, следовательно, виджет приложения) может поддерживать следующее . классы виджетов:

моя проблема была: у меня было поле этой кнопки, которое не было поддерживается

удаление это позволило виджет, чтобы появиться там, где размещены (если размещены ранее) и в меню доступных виджетов.

Читать еще:  Как разлочить андроид от оператора?

фактически установка android_onClick= любой View приводит к этой ошибке.

объект RemoteViews (и, следовательно, виджет приложения) может поддерживать следующие классы компоновки:

и следующие классы виджетов:

все, что использует другое, чем выше, вызывает этот так называемый”виджет загрузки проблем”.

кроме того, проверьте журналы (без фильтра), чтобы увидеть точную строку этой проблемы.

Это может быть вызвано Moving of the specific (Widget) Application from Internal Memory to SD card .( Android-Исправление Ошибки “Проблема Загрузки Виджета”)

я столкнулась с этой проблемой, потому что я пытался использовать флажок!

Так,Просто remove checkbox .

он будет работать нормально.

просто исправлен другой вариант этой ошибки, не упомянутый в других ответах.

симптомы были: 1) ошибка “проблема загрузки виджета” на Gingerbread и ниже 2) точно такая же сборка отлично работала на ICS и Jellybean 3) нет ошибок в logcat

проблема была вызвана манипулированием представлением, которое никогда не раздувалось в remoteviews. В частности:

где viewId был допустимым ресурсом, но он был в макете, который никогда не был добавлен к удаленным представлениям. Никаких ошибок не было, и виджет отображается “проблема загрузки виджета” после вызова .updateAppWidget()

У меня была та же проблема, но logcat не показал ничего подозрительного, ни ошибки, ни предупреждения. В принципе, я вызывал неправильный метод для изменения цвета textview текст.

У меня такая же проблема, когда я удаляю приложение note, я пытаюсь коснуться и удерживать сообщение, и оно показывает меню “Удалить”, я выбираю “удалить”, чем он исчезает.

У меня была та же проблема. Проблема решена: я использовал пользовательский вид в виджете. В моей ситуации это был TextView с пользовательским шрифтом.

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

поэтому не перекрывайте представления с RelativeLayout , Я все еще использую его, и он работает, но представления не перекрываются как можно больше.

в основном виджеты глотать исключения. Просто установите соответствующий фильтр в logcat, и вы сможете увидеть, в чем проблема.

выше, я просто ищу слово”виджет ” и не устанавливать никакой фильтр на любом специфическом применении. Это, по существу, дает мне Throwable.getMessage() без полной трассировки стека.

просто для протокола. У меня есть FrameLayout с TextView внутри, все содержимое в LinerLayout, это будет заголовок моего виджета. Первоначально у меня было это

Читать еще:  Очистка андроида от мусора через компьютер

как и все здесь, у меня было сообщение “проблема загрузки виджета”. Решением было изменить это

в моем случае ошибка была вызвана измененным именем класса поставщика. Поэтому, если вы изменили имя класса поставщика виджетов, попробуйте изменить его обратно. Кроме того, если вы изменили имена xml-файлов (например. widget_info.xml , widget_layout.xml ), вы также можете изменить их обратно.

это произошло только тогда, когда пользователь обновил приложение и “старый” виджет был виден.

У меня тоже была такая же проблема –

Я был с помощью android.поддержка.ограничение.ConstraintLayout вот почему он говорил “проблема загрузки виджета” после удаления этого и меняется к LinearLayout проблема решена, как @Гангнус слова, он будет работать только для конкретных видов.

Обработка ошибок при загрузке виджета

Чтобы виджет всегда показывался и вы могли получать вознаграждение, рекомендуем использовать обработку ошибок при загрузке виджета. Если исходный виджет не загрузится, обработка позволит показать вместо него другой виджет.

Когда нужна обработка ошибок

В случаях, когда на Маркете для виджета не нашлись товары, советуем использовать автозамену виджетов. В других случаях будет полезно обработать ошибки, которые возникают при загрузке виджета. Например:

Вы включили в конструкторе опцию Точный поиск или задали в коде виджета параметр searchMatch: “exact” , но в результатах поиска Маркета не нашлись нужные товары (в этом случае автозамена не нужна).

Для виджета Маркета «Подборка товаров» вы настроили поиск по ID товара на Маркете и выключили автозамену на рекомендательный виджет. При этом указанного товара нет в продаже.

Возникли технические проблемы (например, слишком большой поток трафика, который не выдерживают серверы).

При обработке ошибок виджет можно заменить на другой. Вы также можете вставить вместо виджета контент, который не является инструментом монетизации. Это может быть, например, надпись «В вашем регионе нет предложений» или баннер другой рекламной системы. Однако в этом случае вы не сможете получить вознаграждение от партнерской сети.

Как обработать ошибки при загрузке виджета

Чтобы обработать ошибки, используйте метод catch . Он вызывается, если в результате работы метода createWidget возникает ошибка. Тогда функция, заданная в качестве аргумента catch , обрабатывает возникшую ошибку и показывает другое содержимое вместо исходного виджета. Если метод createWidget работает успешно, метод catch не вызывается.

Пример замены одного виджета на другой в случае ошибки:

Вставьте на страницу виджет Маркета «Где купить товар» в виде витрины.

В поисковом запросе укажите идентификатор электрической варочной панели Hansa BHC64335040 на Маркете.

Включите фильтр по товарам в продаже.

Отключите автозамену на рекомендательный виджет.

Над виджетом разместите заголовок «Предложения магазинов» .

Читать еще:  Лучшая прошивка для htc one m8. Необходимое для получения Root прав

Если товара нет в продаже, при загрузке виджета произойдет ошибка. Чтобы ее обработать:

Напишите в заголовке «С этим товаром смотрят» .

Для рекомендательного виджета укажите идентификатор варочной панели, который задавали ранее.

Скрипт виджета для элемента head :

Код заголовка и контейнера виджета для элемента body :

Исправлено: виджеты приложений Android не отображаются

Я заметил проблему с моими виджетами на устройстве Android, когда виджеты приложений не отображались. У меня были все стандартные виджеты, такие как «Музыка», «Новости и погода» и «Управление питанием», но у меня не было опций для Facebook, Twitter или других установленных мной приложений.

Исправить 1

Оказывается, это особенность Android, где виджеты блокируются для приложений, установленных на SD-карту. Это была моя проблема, так как я только что переместил все свои приложения на SD-карту, чтобы сэкономить место.

Чтобы решить эту проблему, приложение необходимо было перенести обратно в память телефона, выполнив следующие действия:

  1. Откройте приложение « Настройки ».
  2. Выберите « Приложения ».

На многих устройствах Samsung выберите « Приложения »> « Диспетчер приложений ».

Эти варианты могут отличаться для разных устройств в зависимости от версии ОС Android, на которой вы работаете.

  • Выберите приложение, которое не отображается в списке виджетов.
  • Нажмите « Хранение » кнопка.
  • Выберите « Изменить ».
  • Переключите выбор с « SD-карта » на « Внутренняя память ».
  • Повторите эти шаги для любых других приложений, с которыми у вас возникла та же проблема.

    Исправить 2

    Иногда данные на главном экране могут быть повреждены. Вам придется очистить данные главного экрана и начать все заново. Эти шаги вернут ваши настройки на главном экране к значениям по умолчанию.

    1. Откройте « Настройки ».
    2. Выберите « Приложения » или « Приложения ».
    3. На некоторых устройствах выберите « Управление приложениями ».
    4. Выберите значок меню или « Дополнительно » в правом верхнем углу экрана, затем выберите « Показать систему ».
    5. Этот шаг может быть сложным. Вы должны найти название приложения, которое запускает домашний экран. На моем Galaxy S7 он называется « TouchWiz ». На Moto X он называется « Launcher ». На Nexus 5X он называется « Домашний экран Nexus 5X ». Попробуйте найти тот, который относится к вашему устройству, а затем выберите его.
    6. Выберите « Хранение ».
    7. Выберите « Очистить данные ».

    Домашний экран должен быть восстановлен вместе с возможностью использования виджетов.

    голоса
    Рейтинг статьи
    Ссылка на основную публикацию
    Статьи c упоминанием слов: