将数据从广播接收器发送到片段安卓



我正在尝试使用广播接收器每 24 小时更新一次片段中的变量值,即使经过大量研究也无法理解如何更新变量数据。

这是我用于每 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?
}

}

任何帮助将不胜感激。

更结构化的方法是保持这些类松散耦合并使用EventBus将它们链接在一起。这无缝地允许您将数据作为事件传递给多个类。要查看用法,请查看此答案

最新更新