#android
#Android
Вопрос:
Как можно сделать сетевой вызов из виджета в Android?
У меня есть виджет, который покажет результат вызова API из веб-сервиса.
Итак, как можно вызвать метод HttpGet в виджете?
Ответ №1:
Итак, как можно вызвать метод Httpget в виджете?
An AppWidgetProvider
является подклассом BroadcastReceiver
, и такие методы, как onUpdate()
вызываются из приемника onReceive()
. Для вас небезопасно выполнять HTTP-ввод-вывод здесь, поскольку вы находитесь в основном потоке приложения, и эта работа может занять слишком много времени, заморозить ваш пользовательский интерфейс и, возможно, вызвать диалоговое окно ANR.
Вместо этого делегируйте работу HTTP IntentService
тому, из которого вы запускаете onUpdate()
. Затем IntentService
при необходимости можно обновить RemoteViews
виджет приложения.