#android #android-widget #widget
#Android #android-виджет #виджет
Вопрос:
я настроил его на обновление каждые 12 часов: android: updatePeriodMillis = «43200000»
затем в манифесте у меня есть это:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<!--
*************************************************************************************************
* Provider Configure Activity
*************************************************************************************************
-->
<activity android:name=".ConfiguratorActivity"
android:label="Configure Widget"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<!--
*************************************************************************************************
* Widget Provider Receiver
*************************************************************************************************
-->
<receiver android:name=".WidgetProvider">
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_provider" />
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<service android:name=".AppWidget$UpdateService" />
</receiver>
</application>
однако приложение продолжает обновляться каждый раз, когда я создаю сам виджет, когда я запускаю действие конфигурации, но оно не обновляется, когда я нажимаю кнопку ok, в которой используется метод, содержащий инструкции по принудительному использованию виджета =/
Комментарии:
1. но вопрос в том, почему в документации говорится, что виджет не будет обновляться при внедрении конфигуратора. и все же он обновляется при создании, это вызывает у меня проблемы с логикой (общие настройки) и зависает при запуске конфигуратора с момента его одновременного обновления
Ответ №1:
Виджеты всегда обновляются при их создании, чтобы вы могли подготовить надлежащий внешний вид. Это хорошо; в противном случае ваш первоначальный макет (как определено в xml) отображался бы до тех пор, пока он окончательно не обновится через 12 часов. Если вам это не нужно, вы должны определить, что это первое обновление (напишите флаг в разделяемые префы), а затем проигнорируйте это.
Кнопка: как вы подключили кнопку для принудительного обновления?
Ответ №2:
Начиная с Donut (Android 1.6) минимальное и максимальное время обновления виджета составляет 30 минут, в основном для того, чтобы избежать короткого разряда батареи.
Ребята из Android должны изменить свою документацию: