Сетевой вызов из виджетов Android

#android

#Android

Вопрос:

Как можно сделать сетевой вызов из виджета в Android?
У меня есть виджет, который покажет результат вызова API из веб-сервиса.
Итак, как можно вызвать метод HttpGet в виджете?

Ответ №1:

Итак, как можно вызвать метод Httpget в виджете?

An AppWidgetProvider является подклассом BroadcastReceiver , и такие методы, как onUpdate() вызываются из приемника onReceive() . Для вас небезопасно выполнять HTTP-ввод-вывод здесь, поскольку вы находитесь в основном потоке приложения, и эта работа может занять слишком много времени, заморозить ваш пользовательский интерфейс и, возможно, вызвать диалоговое окно ANR.

Вместо этого делегируйте работу HTTP IntentService тому, из которого вы запускаете onUpdate() . Затем IntentService при необходимости можно обновить RemoteViews виджет приложения.