我正在构建一个静态 android 小部件,这意味着该小部件根本不需要更新。小部件唯一需要处理的是在触发时从浏览器打开链接。
在 AppWidgetProviderInfo 元数据 xml 文件中,有一个名为“updatePeriodMillis”的属性,我应该在那里设置任何值吗?或者只是不添加这个属性?
谢谢
为什么不在 AppWidgetProvider 类中覆盖 onUpdate() 并让它什么都不做。
public class MyWidget extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
//do nothing
}
}
在您的 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);
}
试试上面的代码它会为我工作