首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用BroadcastReceiver更新两个活动?

如何使用BroadcastReceiver更新两个活动?
EN

Stack Overflow用户
提问于 2011-04-28 08:40:34
回答 3查看 2.9K关注 0票数 0

我有一个应用程序,它只有两个活动,即主活动和一个PreferenceActivity。当状态发生变化时(飞机模式打开或关闭,GPS打开和关闭等),我想要更新这两个活动。

只有当应用程序处于活动状态时,我才需要更新一些变量和UI,所以我想最好是在代码中注册接收器,而不是在应用程序清单中。

因为我不想在每个活动中复制代码,所以我尝试将BroadcastReceiver放在它自己的类中。但是,我发现我无法注册BroadcastReceiver。有没有办法绕过这个问题?

谢谢你,梅尔

代码语言:javascript
复制
public class melsBigListener {


IntentFilter intentFilter = new IntentFilter("android.intent.action.SERVICE_STATE");
BroadcastReceiver receiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        //TO DO Update both my main activity and the preference activity
        //TO DO deal with different intents via switch statement... 
    } 

}; 

//registering as receiver(like below) can not work
//registerReceiver(receiver, intentFilter);}

Relevant post:RegisterBroadcastReceiver in Manifest.xml setting or by implement source code

EN

回答 3

Stack Overflow用户

发布于 2011-04-28 08:57:10

我建议在清单中注册接收器,并使用它来更改存储在首选项文件中的变量(无论应用程序是否正在运行),然后在需要时查询状态的首选项。

但是您可以扩展Application并在Application.onCreate()方法的代码中注册接收器。

票数 0
EN

Stack Overflow用户

发布于 2011-04-28 09:13:11

代码语言:javascript
复制
registerReceiver(receiver, intentFilter); should be in some method.

melsBigListener应该扩展activity,或者您需要将Activity Context传递给这个类并将其用于registerReceiver。

与其做这些愚蠢的事情,不如在menifest文件中编写注册接收器。

票数 0
EN

Stack Overflow用户

发布于 2011-04-28 11:08:12

BroadcastReceivers应作为使用清单文件注册到电话的扩展类工作。我不太确定它作为activity中的实例化类是如何工作的。从到目前为止的代码判断,意图甚至永远不会被活动和BigListener类接收到,因为意图过滤器从未在清单中声明过。

要解决您的问题: 1.创建一个myBroadcastReceiver,从BroadcastReceiver扩展,在清单中声明必要的意图2.创建一个myApplication,从应用程序扩展3.使用您的活动的onCreate,onDestroy,onStartCmd,onPause等来管理“仅当应用程序处于活动状态时”部分,方法是在myApplication中切换一个变量。4.每当接收到意图时,使用myBroadcastReceiver读出(3)中的变量,以决定是否“需要更新一些变量”并进行相应的更新。由于这些变量由您的两个活动共享,因此应将这些变量放入myApplication类中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5812338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档