Android 小部件不更新

Posted

技术标签:

【中文标题】Android 小部件不更新【英文标题】:Android Widget does not update 【发布时间】:2012-01-06 02:12:44 【问题描述】:

我有一个带有单个文本视图的简单 android 小部件。 我扩展了 AppWidgetProvider 类,小部件信息 xml - appwidget-provider...,还根据 android 网站上提供的文档更新了我的清单文件。 我也设置了ndroid:updatePeriodMillis to 1800020 (~30 minutes).

当我将小部件放在屏幕上时,onUpdate 方法下的所有代码都会第一次触发。但是在 1800020 毫秒 之后,onUpdate 不会再次调用。我的小部件之后没有更新。我错过了什么吗?

我扩展 AppWidgetProvider 如下,

public class Testwidget extends AppWidgetProvider 
int COUNT = 0;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager,
        int[] appWidgetIds) 

    Log.d("WIDGET", "====================== UPDATED ======================");
    super.onUpdate(context, appWidgetManager, appWidgetIds);

    for(int _i=0; _i<appWidgetIds.length; _i++)
        int _widId = appWidgetIds[_i];

        COUNT+=1;

        RemoteViews _views = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);
        _views.setTextViewText(R.id.tvCount,String.valueOf(COUNT));

        appWidgetManager.updateAppWidget(_widId, _views);
    


我的清单

<receiver android:name="Testwidget">
        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
            android:resource="@xml/widgetinfo"></meta-data>
    </receiver>

Appwidget 提供者

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="272dp" android:minHeight="72dp"
android:updatePeriodMillis="1800020" android:initialLayout="@layout/widgetlayout">

</appwidget-provider>

【问题讨论】:

提供一些代码你试过什么? 你可以试试1800更新吗?看看会发生什么。 什么是android:updatePeriodMillis?是毫秒吗?如果是,则 30 分钟 = 1800000 毫秒。 Google 在“30 分钟到毫秒”中也显示相同 1800 不起作用,我正在尝试使用 180000。 【参考方案1】:

您使用了正确的毫秒数。

但不能保证更新会在这个时间间隔发生 - 它可能会被操作系统延迟(来自文档:“实际更新不能保证在这个值的情况下准确地发生”)

【讨论】:

【参考方案2】:

如果您没有使用任何服务,它将在您定义的毫秒后更新,以使用服务或完整参考小部件的工作方式看起来here.

【讨论】:

【参考方案3】:

更新秒数的最小值为 1800000(30 分钟)。从那里开始,计数器被设置回 0,所以你必须再等 30 分钟。看看留下的link Pawan。

【讨论】:

以上是关于Android 小部件不更新的主要内容,如果未能解决你的问题,请参考以下文章

Android 小部件更新不起作用

Android BroadcastReceiver不更新小部件

android小部件更新期千分尺不起作用

屏幕打开/关闭时如何更新 Android 小部件?

强制 Android 小部件更新

如何每分钟更新一个 Android 应用小部件