Android小部件避免更新

时间:2013-07-22 02:53:29

标签: android widget updates

我正在构建一个静态的android小部件,这意味着小部件根本不需要更新。小部件需要处理的唯一内容是触发时从浏览器打开链接。

在AppWidgetProviderInfo Metadata xml文件中,有一个名为“updatePeriodMillis”的属性,我应该在那里设置任何值吗?或者只是不添加这个属性?

由于

2 个答案:

答案 0 :(得分:1)

为什么不在AppWidgetProvider类中覆盖onUpdate()并让它什么也不做。

public class MyWidget extends AppWidgetProvider {

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    //do nothing
    }
}

答案 1 :(得分:0)

在您的widgetprovider文件中

编写此方法:

@Override
public void onReceive(Context context, Intent intent) {
 ComponentName thisAppWidget = new ComponentName(context.getPackageName(), getClass().getName());
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
    int ids[] = appWidgetManager.getAppWidgetIds(thisAppWidget);
    int idd[];
    idd = appWidgetManager.getAppWidgetIds(thisAppWidget);
    // call updateAppWidget for each widget
    for (int appWidgetID : ids) {
        updateAppWidget(context, appWidgetManager, appWidgetID);
    }
super.onReceive(context, intent);
}


public void updateAppWidget(Context context,AppWidgetManager appWidgetManager, int appWidgetId){
    RemoteViews updateViews = new RemoteViews(context.getPackageName(),R.layout.widget_layout1_1);
    updateViews.setTextViewText(R.id.txt_days, "" + tmp_diffrentDays);
    appWidgetManager.updateAppWidget(appWidgetId, updateViews);
}

尝试上面的代码,它对我有用