如何全局声明广播接收器

时间:2014-10-07 17:10:11

标签: android

如图所示,我有4个屏幕。所有4个屏幕都实现了广播接收器。我不想一次又一次地重复代码,而是想在第一个屏幕中实现接收器并扫描所有屏幕中的变化。我怎样才能做到这一点?。

另外,我正在为每个活动声明自定义字体。如何全局声明自定义字体?。

2 个答案:

答案 0 :(得分:0)

根据要求,您可以执行以下任何操作:

  1. 通过清单创建单个全局BR,该清单将根据您的活动流程关闭/打开。使用类似LocalBroadcastReceiver的东西与活动进行通信。

  2. 创建一个具有您创建的BR的基本功能的类,而每个活动将以不同的方式使用它。

  3. 创建所有活动使用的基本活动,其具有与BR处理相同的功能。

  4. 我确信还有其他解决方案。

答案 1 :(得分:0)

  

而不是一次又一次地重复代码我想   在第一个屏幕中实现接收器并扫描所有的变化   屏幕

我想到的第一个:

1

基本类可能吗?您可以在基类中动态注册接收器,衍生产品只会接收回调方法。

2

您可以创建单个主机活动并注册BroadcastReceiver,并且屏幕可能是与此活动相关的碎片,如果我正确理解您的问题,我会这样做。

  

我为每个活动声明自定义字体。我该怎么说呢   全局自定义字体?。

嗯,有Apple的发明 - 真实字体(TTF) - 有很多网站都有不同类型的。

以下是Mark Murphy关于设置字体的示例 - https://github.com/commonsguy/cw-omnibus/blob/master/Fonts/FontSampler/src/com/commonsware/android/fonts/FontSampler.java

如果你使用支持库,那么@ android-developer建议使用Local BroadcastReceiver是合理的,因为它不会将广播发送到每个应用程序,只能在你的进程中运行。