ten Intent jest mniej ważny choć podałem go bo on jest powodem wykonania onRecive w Intencie masz np informacje o rodzaju akcji w momencie otrzymania akcji APPWIDGET_UPDATE wykonujesz odświeżenie z zapamiętanych danych wiec musisz dodać do
if(intent.getAction().equals(APPWIDGET_UPDATE)) {
Log.v("onreceive", "update");
}
trochę kodu
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if(intent.getAction().equals(UPDATE_ONDEMAND)) {
String hourl = intent.getStringExtra("hl");
String hourr = intent.getStringExtra("hr");
String minl = intent.getStringExtra("ml");
String minr = intent.getStringExtra("mr");
String data = intent.getStringExtra("data");
updateWidget(context,hourl,hourr,minl,minr,data);
}
if(intent.getAction().equals(UPDATE_WEATHER)) {
String temp = intent.getStringExtra("temp");
String miasto = intent.getStringExtra("miasto");
String wcode = intent.getStringExtra("wcode");
String wdesc = intent.getStringExtra("wdesc");
Boolean czynoc = intent.getBooleanExtra("noc", false);
updateweather(context,temp,miasto,wcode,wdesc,czynoc);
//tu zapisujesz dane z pul: temp,miasto,wcode,wdesc,czynoc
}
Log.v("onreceive", intent.getAction());
if(intent.getAction().equals(APPWIDGET_UPDATE)) {
odczytujesz wcześniej zapisane dane pul (temp,miasto,wcode,wdesc,czynoc) i przekazujesz jako argument dla poniższej metody
updateweather(context,temp,miasto,wcode,wdesc,czynoc);
}
}