ブロードキャスト受信機を使用して24時間ごとに変数の値を更新しようとしていますが、多くの研究の後でも変数データの更新方法を理解できません。Broadcast RecieverからFragmentへのデータ送信android
これは、アラームを24時間ごとに呼び出すために使用する関数であり、増分する必要のある変数をアラーム受信機に送信して、どちらも正常に動作しています。
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