我将制作一个简单的闹钟,我有用户界面,我正在使用Bundle发送警报的用户配置(如音量值或音调类型).
在主要活动我有:
Bundle b = new Bundle();
b.putString("tone", toneS.getSelectedItem().toString());
我发送给BroadcastReceiver:
Intent intent = new Intent(SetAlarm.this, MessageReceiver.class);
intent.putExtras(setBoundle());
我以这种方式收到BroadcastReceiver中的Bundle:
Bundle b2 = new Bundle();
b2 = intent.getExtras();
虽然主要活动中的Bundle具有来自UI的新数据但是BroadcastReceiver只保留旧数据,所以它第一次完美地工作但是在它之后.
谁能解释这个问题呢?
解决方法:
每当我这样做,我在发送端创建一个新的Bundle并将字符串放入其中.
发送端的Intent可以根据需要重复使用
希望这可以帮助!