브로드 캐스트 리시버를 사용하여 24 시간마다 조각의 변수 값을 업데이트하려고하는데 많은 연구가 끝난 후에도 변수 데이터를 업데이트하는 방법을 이해할 수 없습니다.Broadcast Reciever에서 Fragment android로 데이터 보내기
이것은 24 시간마다 알람을 호출하고 증가해야하는 변수를 Alarm Receiver에 보내고 둘 다 잘 작동하는 함수입니다.
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));
}
몇 가지 조사를 한 후 조각으로 돌아가려면 값을 가져오고 증가시키는 방법을 이해할 수 없었습니다. 이것은 나의 수신기 클래스입니다.
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?
}
}
어떤 도움을 주시면 감사하겠습니다.
이 링크를 확인하십시오. http://android-er.blogspot.in/2015/04/example-of-using-alarmmanager-to.html – darwin