使用BroadcastReciever传递Intent.EXTRAS
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用BroadcastReciever传递Intent.EXTRAS相关的知识,希望对你有一定的参考价值。
主要问题:我可以使用BroadcastReciever将附加内容的意图传递给活动吗?
设置:我有一个DatePicker片段的记录日期,我想确保将Millis时间传递给另一个活动,但是不会立即从包含该片段的Activity调用该活动
我尝试使用datePicker片段在活动中使用以下代码:
Intent intent = new Intent().putExtra(EVENT_MILLIS, eventDateMillis);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
在“接收”活动中:
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstatnceState);
setContentView...
LocalBroadcastManager.getInstance(this).registerReceiver(mReceiver, new IntentFilter(EVENT_MILLIS));
我打电话给接收者:
private BroadcastReciever mReceiver = new BroadcastReciever () {
@Override
public void onReceive(Content content, Intent intent) {
setRecievedDate(intent.getLongExtra(EVENT_MILLIS,0));
}
}
答案
使用Broadcast
不是一个好的模式,它会降低你的应用程序的效率。尝试使用EventBus代替。它很容易使用较低的问题。
以上是关于使用BroadcastReciever传递Intent.EXTRAS的主要内容,如果未能解决你的问题,请参考以下文章
重复报警BroadcastReciever Intent字符串附加功能没有得到更新
从 stackview 小部件传递可序列化对象会产生空指针异常
在 Pending Intents Android 中传递值