Модераторы: javastic

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Widget не отвечет после отключения Studio от устр. Widget не обновляется 
V
    Опции темы
EgoBrain
Дата 20.11.2019, 04:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Виджет без Activity работает только пока Android Studio подключена к устройству.

Run app (Shift + F10) собирает приложение, устанавливает на устройство, виджет работает (обновляется и реагирует на нажатия).
Stop (Ctrl + F2) и виджет перестает работать, открываешь виджет в WidgetPreview повторно, виджет не работает.

На эмуляторе и на реальном устройстве поведение одинаковое.

Код

public class AppWidget extends AppWidgetProvider {
    public static String WIDGET_BUTTON = "ru.gov.sakhalin.airwidget.WIDGET_BUTTON";

    public static boolean doRotation = false;
    public static RemoteViews remoteViews;
    public static AppWidgetManager appWidgetManager;
    public static ComponentName watchWidget;

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        System.out.println("UPDATE");
        this.appWidgetManager = appWidgetManager;
        remoteViews = new RemoteViews(context.getPackageName(), R.layout.app_widget);
        watchWidget = new ComponentName(context, AppWidget.class);

        for (int appWidgetId : appWidgetIds) {
            remoteViews.setOnClickPendingIntent(R.id.updateButton, getPendingSelfIntent(context, WIDGET_BUTTON));
            appWidgetManager.updateAppWidget(watchWidget, remoteViews);
            updateAllData(context);
        }
    }
}


Как решить проблему и заставить Виджет работать всегда?
PM MAIL ICQ Skype   Вверх
EgoBrain
Дата 20.11.2019, 04:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



При работе с реальным устройством, после установки приложения и добавления виджета на рабочий стол, он работает до тех пор пока не нажать "Закрыть все приложения".
PM MAIL ICQ Skype   Вверх
EgoBrain
Дата 20.11.2019, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Xiaomi
Android 8.1.0
PM MAIL ICQ Skype   Вверх
EgoBrain
Дата 21.11.2019, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



Свою конкретную проблему я решил.
Оказалось ситуация была неверно оценена, на самом деле нажатие "Force Stop" в системном меню настроек и нажатие "Clear All" в Xiaomi MIUI не убивает процесс, основной поток приложения остается активным и виджет продолжает получать сообщения. Что именно эти нажатия делают с приложением я не знаю, но результатом является то, что ссылки на объекты классов AppWidgetManager, RemoteViews и ComponentName обнуляются, поэтому становится невозможным обновлять Виджет.

Оказалось достаточным просто отлавливать такую ситуацию и пере инициализировать переменные.
Код

public class AppWidget extends AppWidgetProvider {
    public static RemoteViews remoteViews;
    public static AppWidgetManager appWidgetManager;
    public static ComponentName watchWidget;

    @Override
    public void onReceive(Context context, Intent intent) {
        super.onReceive(context, intent);
        
        if(remoteViews == null)
            remoteViews = new RemoteViews(context.getPackageName(), R.layout.app_widget);

        if(appWidgetManager == null)
            appWidgetManager = AppWidgetManager.getInstance(context);

        if(watchWidget == null)
            watchWidget = new ComponentName(context, AppWidget.class);
    }
}

PM MAIL ICQ Skype   Вверх
Mordin
Дата 11.12.2020, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.12.2020

Репутация: нет
Всего: нет



А промокоды когда будет?
PM MAIL   Вверх
Hugibor
Дата 16.12.2020, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 13.12.2020

Репутация: нет
Всего: нет



Уже сто летней давности конечно, или нет но вот можно же
PM MAIL   Вверх
trendtoreview43
Дата 7.12.2022, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
volkovch
Дата 7.12.2022, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Robertraf
Дата 8.12.2022, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.11.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
WilliamBrutt
Дата 8.12.2022, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 7.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Charlesencam
Дата 12.12.2022, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Sdvillaposy
Дата 13.12.2022, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.11.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
LarryNet
Дата 13.12.2022, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Marusechkaget
Дата 14.12.2022, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Marusechkaget
Дата 14.12.2022, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.12.2022

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.1531 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.