- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
免责声明:我是 Android 编程的新手,所以我试图模仿 iOS NSNotificationCenter。
我发现 LocalBroadcastManager 的行为类似于 NSNotifcationCenter。我想要做的是在套接字流量完成时从静态类向 Activity 发送消息。
我从这个 stackoverflow answer 找到了如何使用 LocalBroadcastManager
我的问题是如何将 context('this') 设置为我的静态类,否则我不会收到错误“LocalBroadcastManager 类型中的方法 getInstance(Context) 不适用于参数 (MY_STATIC_CLASS)”。
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
如果使用 LocalBroadcastManager 不是将信息从静态类发送到 Activity 的最佳方式,我愿意接受其他方式来完成此任务。
最佳答案
只需从调用静态方法的应用程序的 Activity 中传递上下文。
public static void sendBroadcast(上下文上下文){ LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
来自应用程序或 Activity
StaticClass.sendBroadcast(getApplicationContext());
或者,如果您需要从静态类调用 if,请在应用程序创建时传递上下文。
public final class YourApp extends Application {
@Override
public void onCreate() {
super.onCreate();
YourClass.init(this);
}
}
public final class YourClass {
private static Context context;
public static void init(Context context) {
YourClass.context = context;
}
public static void sendBroadcast() {
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
}
关于android - 将 LocalBroadcastManager 与静态类一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140854/
我在将 Eclipse 项目导入 Android Studio 时遇到此错误。它显示了一条建议将库 Gradle: com.android.support:support-core-utils-27.
我正在尝试添加 flutter 的应用程序购买包。这首先造成了 AndroidX 迁移问题。然后在迁移之后我又遇到了一个我不知道如何解决的错误。 我什至没有为应用内购买编写任何代码。就在添加到 pub
我有一个显示产品列表的 fragment 。每个列表项都有一个监视列表按钮,如果未列入监视列表,则显示一个透明的心形图标;如果已列入监视列表,则显示一个红色心形图标。用户可以在列表页面中单击此心形图标
我遵循了 Youtube-Tutorial (https://www.youtube.com/watch?v=y8R2C86BIUc&list=PLgCYzUzKIBE8KHMzpp6JITZ2JxT
我正在尝试从服务向 Activity 发送消息,但由于某种原因它无法正常工作。 Activity @Override protected void onCreate(Bundle saved
在我的应用程序中,我必须从 IntentService 类通知我的 Activity 。为此,我正在使用 LocalBroadcastManager。但是我在我的广播接收器的 onReceive 中没
在我的 Android 应用程序中,我想广播一些通知。在 MainActivity 中,我注册了处理消息的 BroadcastReceiver 但据我所知,如果我不想发送消息,不建议使用全局 Broa
我正在使用新的 Android 构建系统创建一个应用程序,并使用 LocalBroadcastManager 将来自 IntentService 的通知发送回 Activity. 我已将以下产品风格定
我知道虽然 android 允许在 Intent 中传递 Serializable 对象,但出于性能原因不推荐这样做。 但是,如果使用 LocalBroadcastManager,对象是否会被序列化,
如何注册我的 App Widget(主屏幕小部件)以收听通过 LocalBroadcastManager 发送的本地广播消息? 最佳答案 您的应用程序小部件实际上是另一个应用程序进程(例如,主屏幕)中
我试图找到如何在扩展 BaseAdapter 的类中使用 LocalBroadcastManager 的答案,但是经过数小时的研究后,我没有找到正确的答案.我需要从适配器中的 Fragment 调用方
Android 的兼容包支持 LocalBroadcastManager,它可以在我的进程中发送广播。 http://developer.android.com/reference/android/s
我有一个 Activity A 和一个服务 S。它们通过 LocalBroadcastManager 进行通信。 如果 S 调用 sendBroadcast 两次,并依次传递两条消息 M1 和 M2,
我正在 Android 中处理这个项目,其中一个方面需要一个带有前台服务的 CountdownTimer。 Stack Overflow 上的其他一些答案提到 LocalBroadcastManage
你能帮我解决这个问题吗?我已经实现了一个接收器(通过 XML 注册),它监听特定的本地广播,然后启动一个服务进行进一步处理,但不知何故该接收器没有接收任何广播。 虽然另一个通过代码在本地注册的接收器能
我正在尝试连接我的服务和 Activity ,尝试了不同的方法,但没有任何效果。 当应用程序启动时,我在 SplashActivity 中启动 Servise。然后 Service 在后台做一些工作,
接收器可以注册到LocalBroadcastManager吗?在不同的线程中执行?我们使用 LocalBroadcastmanager 注册一个 Intent void registerReceive
我尝试学习 LocalBroadcastManager。在网络上搜索并实现了一个简单的应用程序,其中包含两个 Activity 来执行 LocalBroadcastManager。但它不起作用。我找不
我想知道 LocalBroadcastManager 是否比对订阅事件发布者的 Objects 的方法调用更好,以及开销(如果有)是否值得。 我正在开发一个聊天应用程序,示例过程包括将新收到的原始消息
谁能给我一个例子,说明如何在 Activity 类中正确取消注册 LocalBroadcastManager 接收器? Android 开发人员培训建议这样做: @Override publ
我是一名优秀的程序员,十分优秀!