gpt4 book ai didi

android - 对应用程序中的所有 Activity 使用广播接收器

转载 作者:行者123 更新时间:2023-11-29 15:01:49 25 4
gpt4 key购买 nike

我在我的应用程序中使用 BroadCast Receiver。我的应用程序中有很多 Activity 。在 MainActivity.java 中使用的广播接收器如下:

private BroadcastReceiver smsReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Retrieves a map of extended data from the intent.
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {

}
} catch (Exception e) {
e.printStackTrace();
}
}
};

当消息到来并且 MyActivity 处于焦点时,我会发出通知。现在,当我的其他 Activity 成为焦点时,我不会收到通知。有没有一种通用的方法可以将 BroadCast 用作全局方式???对于所有 Activity ???

最佳答案

广播接收器总是在您注销广播接收器时使用。

为了解决您的问题,您必须在应用程序级别注册广播。

例如:

public MyApplication extends Application 
{
onCreate() {
// register broadcast receiver here
}

private BroadcastReceiver smsReceiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent) {
// Retrieves a map of extended data from the intent.
final Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
}
} catch (Exception e) {
e.printStackTrace();
}
}
};
}

之后,您可以随时执行任何操作,因为现在是应用程序级别的广播接收器。此外,您不会在 Activity 中面临任何内存泄漏。

关于android - 对应用程序中的所有 Activity 使用广播接收器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43226228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com