本文介绍了RegisterBroadcastReceiver中的Manifest.xml设置,或通过实现源$ C ​​$ C的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一点担心的注册的BroadcastReceiver :由于Android的支持非常灵活的,它允许的BroadcastReceiver 2方法注册:在的Manifest.xml设置,并通过实施源$ C ​​$ C:

I have little concern about register BroadcastReceiver: Because Android support quite flexible, it allow BroadcastReceiver register by 2 method: In Manifest.xml setting and Via implement source code:

示例:

经的Manifest.xml

<intent-filter>
    <action android:name="YourBroadcastMesssage" />
</intent-filter>

❷的注册想到来源$ C ​​$ C实现:

IntentFilter filter = IntentFilter("BroadcastMessage");
filter.addAction("BroadcastMessage");
context.registerReceiver(BroadcastListener, filter);

enter code here

★我认为的一个区别就是取消注册能够:

★I think one of difference is unregister able:

  1. 实施❶平均总是处理临时用户广播消息。
  2. 实施❷的情况下不想处理程序广播消息,可以注销该广播消息
  1. Implement ❶ mean always handler registed broadcast message.
  2. Implement ❷ for in case don't want to handler Broadcast message, can unregister that broadcast message

问:

我仍然不知道什么时候使用❶或❷和哪个好?

I still don't known exactly when to use ❶ or ❷ and which is better?

推荐答案

海事组织,你必须当你想在活动直接一旦广播已经陷入执行的东西(如完成活动注册由code中的的BroadcastReceiver )。

IMO, you must register the BroadcastReceiver from code when you want to execute things in that activity directly once the broadcast has been caught (e.g. finish the activity).

当您要执行其他类型的任务不要求该活动,使用XML设置(例如推出吐司显示一些信息)。

When you want to perform other kind of tasks which don't require the activity, use the XML setting (e.g. launching a Toast to show some info).

这篇关于RegisterBroadcastReceiver中的Manifest.xml设置,或通过实现源$ C ​​$ C的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 03:59