我有一个扩展BroadcastReciever的类,所以只有在触发警报时才会调用它。
我把一个带有"距离"的键作为额外的int变量。 但是,距离会改变,所以我尝试覆盖putExtra(在另一个函数中),但它没有获得距离的新值。 我做了toast来仔细检查它是否进入了它应该覆盖距离值的函数内部(它确实在函数内部)。
我的问题是,
以下是我如何实施它:
此代码在用户单击按钮时运行
intentAlarm = new Intent(getBaseContext(), AlarmReciever.class);
intentAlarm.putExtra("number", number);
intentAlarm.putExtra("distance", getDistance());
alarm_pending = PendingIntent.getBroadcast(getBaseContext(), 0,
intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT);
我"覆盖"距离,我可以在哪里获得新的距离
@Override
public void onLocationChanged(Location location) {
intentAlarm.putExtra("distance", getDistance());
}