【问题标题】:Why its my widget updating on the configuration activity creation?为什么我的小部件会在配置活动创建时更新?
【发布时间】:2011-05-18 16:06:19
【问题描述】:

我已将其设置为每 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>

但是,每次我在启动配置活动时创建小部件本身时,应用程序都会不断更新,但是当我单击“确定”按钮时它不会更新,它是具有强制小部件指令的方法 =/

【问题讨论】:

  • 但问题是为什么在文档中它说当您实现配置器时小部件不会更新。创建时它仍然更新,这导致我出现逻辑问题(共享首选项)并且它在启动配置器时冻结,因为它同时更新

标签: android android-widget widget


【解决方案1】:

小部件在您创建它们时总是会得到更新,以便您可以准备适当的外观。这是一件好事;否则,您的初始布局(如 xml 中定义)将一直显示,直到 12 小时后最终刷新。如果您不需要,则必须检测到这是第一次刷新(向共享首选项写入标志),然后忽略这个。

按钮:你是如何连接按钮来强制刷新的?

【讨论】:

    【解决方案2】:

    由于 Donut (Android 1.6),更新小部件的最短和最长时间为 30 分钟,主要是为了避免您的电池很快耗尽。

    Android 用户必须更改他们的文档:

    https://developer.android.com/reference/android/appwidget/AppWidgetProviderInfo.html#updatePeriodMillis

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 2017-05-07
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      相关资源
      最近更新 更多