Android:凌驾于putExtra之上

Android:凌驾于putExtra之上,android,android-intent,mobile,broadcastreceiver,Android,Android Intent,Mobile,Broadcastreceiver,我有一个扩展BroadcastReceiver的类,因此只有在触发报警时才会调用它 我额外加了一个int变量和一个“distance”键。 但是,距离会发生变化,因此我尝试覆盖putExtra(在另一个函数中),但它不会获得距离的新值。 我举杯仔细检查它是否进入函数内部,它应该覆盖距离值(它确实进入函数内部) 我的问题是, 甚至可以覆盖同一个键的putExtra吗 有没有方法可以更改距离的值 我是如何实现它的: 此代码在用户单击按钮时运行 intentAlarm = new Intent

我有一个扩展BroadcastReceiver的类,因此只有在触发报警时才会调用它

我额外加了一个int变量和一个“distance”键。 但是,距离会发生变化,因此我尝试覆盖putExtra(在另一个函数中),但它不会获得距离的新值。 我举杯仔细检查它是否进入函数内部,它应该覆盖距离值(它确实进入函数内部)

我的问题是,

  • 甚至可以覆盖同一个键的putExtra吗
  • 有没有方法可以更改距离的值
  • 我是如何实现它的:

    此代码在用户单击按钮时运行

        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());
        }
    

    调用
    getBroadcast
    时使用不同的
    requestCode
    sw调用
    getBroadcast
    时使用不同的
    requestCode
    s