android - 从 onReceive 更新特定的 activity UI
android - update specific activity UI from onReceive
我有一个 BroadcastReceiver,在两个不同的 Activity 中,从两个不同的 asyncTasks 中的两个不同的 postExecute 方法调用 onReceive。
我有第三个 activity,即 运行,一直称为 HomeActivity,我想将一些文本发布到 HomeActivity 的 [=32] =] 来自 onReceive 方法。
可以吗我知道context参数是activity提出onReceive的上下文,但是我想访问HomeActivity的UI.
这里是代码
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// here I want to publish some text to the HomeActivity
}
}
有什么想法吗?提前致谢
您想根据在 BroadcastReceiver 的 onReceive
中收到的内容更改 运行 activity 中的文本吗?正确的?一种方法是您可以使用 LocalBroadcast
。参见 LocalBroadcast Manager。
关于如何实现,how to use LocalBroadcastManager? 上有一个很好的例子。
LocalBroadcast Manager is a helper to register for and send broadcasts of Intents to local objects within your process. The data you are broadcasting won't leave your app, so don't need to worry about leaking private data.`
您的 HomeActivity
可以注册此本地广播。从 MyBroadcastReceiver
你从 onReceive
中发送一个 LocalBroadcast
(说嘿,我收到一条消息。你想现在做点什么吗 activity)。然后在你的 Activity
里面你可以收听广播。这样,如果 activity 在 forefront/is 活动中,它将接收广播,否则不会。因此,每当您收到该本地广播时,如果 activity 已打开,您可以更改文本等。
我有一个 BroadcastReceiver,在两个不同的 Activity 中,从两个不同的 asyncTasks 中的两个不同的 postExecute 方法调用 onReceive。
我有第三个 activity,即 运行,一直称为 HomeActivity,我想将一些文本发布到 HomeActivity 的 [=32] =] 来自 onReceive 方法。
可以吗我知道context参数是activity提出onReceive的上下文,但是我想访问HomeActivity的UI.
这里是代码
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// here I want to publish some text to the HomeActivity
}
}
有什么想法吗?提前致谢
您想根据在 BroadcastReceiver 的 onReceive
中收到的内容更改 运行 activity 中的文本吗?正确的?一种方法是您可以使用 LocalBroadcast
。参见 LocalBroadcast Manager。
关于如何实现,how to use LocalBroadcastManager? 上有一个很好的例子。
LocalBroadcast Manager is a helper to register for and send broadcasts of Intents to local objects within your process. The data you are broadcasting won't leave your app, so don't need to worry about leaking private data.`
您的 HomeActivity
可以注册此本地广播。从 MyBroadcastReceiver
你从 onReceive
中发送一个 LocalBroadcast
(说嘿,我收到一条消息。你想现在做点什么吗 activity)。然后在你的 Activity
里面你可以收听广播。这样,如果 activity 在 forefront/is 活动中,它将接收广播,否则不会。因此,每当您收到该本地广播时,如果 activity 已打开,您可以更改文本等。