我们知道,appWidget可通过设置widgetinfo中的updateTimeMillies设置更新的间隔,那么,当我们需要实时进行更新的时候呢?该如何进行appWidget显示内容的更新?如行程应用中添加了新的行程,想立刻在appWidget显示内容更新。
如何?
我们知道,widgetProvider本质上就是一个广播接收器,所以我们可以在数据修改处发送一个与之符合的广播。
当我们的intent并没附带任何额外数据,只定义了action的时候,会调用WidgetProvider中的onReceive方法。
那么我们就简单的实现以下数据实时更新:
发送广播:
public void addData(Context context){
add....();
updateWidget(context)
}
//发送广播,使appWidget更新
private void updateWidget(Context context) {
Intent intent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
context.sendBroadcast(intent)