Ich versuche, den Wert einer Variablen in meinem Fragment alle 24 Stunden mit einem Broadcast-Empfänger zu aktualisieren und kann nicht verstehen, wie die variablen Daten auch nach vielen Nachforschungen aktualisiert werden.Senden von Daten von Broadcast Reciever zu Fragment android
Dies ist die Funktion, die ich benutze, um den Alarm alle 24 Stunden aufzurufen und die Variable, die inkrementiert werden muss, an den Alarmempfänger zu senden, die beide gut funktionieren.
public void scheduleAlarm() {
Intent intentAlarm= new Intent(getActivity(), AlarmReciever.class);
intentAlarm.putExtra("imageName",""+imagename); // variable to be updated
Calendar calNow = Calendar.getInstance();
Calendar calSet = (Calendar) calNow.clone();
calSet.set(Calendar.HOUR_OF_DAY, 4);
calSet.set(Calendar.MINUTE, 18);
calSet.set(Calendar.SECOND, 0);
calSet.set(Calendar.MILLISECOND, 0);
if(calSet.compareTo(calNow) <= 0){
calSet.add(Calendar.DATE, 1);
}
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calSet.getTimeInMillis(),AlarmManager.INTERVAL_DAY, PendingIntent.getBroadcast(getActivity(), 1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
}
Nach einigen Recherchen habe ich nicht in der Lage zu verstehen, wie auf den Wert übertragen abgerufen und erhöht zurück zum Fragmente gesendet werden sollte. Das ist meine Empfängerklasse.
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.e("servicerun","true");
String intentImageName = intent.getStringExtra("imageName");
int numberImageName = Integer.parseInt(intentImageName) +1; // How to send this value back to the fragment?
}
}
Jede Hilfe würde geschätzt.
Check diesen Link http://android-er.blogspot.in/2015/04/example-of-using-alarmmanager-to.html – darwin