java - 如何从 Android 广播到其他 Java 类?

标签 java android android-broadcast

是否有可能从“普通”Java 类在 Android 中发送 BroadcastMessage?

我尝试过这样的:

private void sendBroadcastMessage(String intentFilterName) {
    Intent intent = new Intent(intentFilterName);
    intent.putExtra("response", response);
    sendBroadcast(intent);
}

但最后一行出现错误

The method sendBroadcast(Intent) is undefined for the type Webserver_Connection

如何解决这个问题?

最佳答案

如果您尝试向其他应用或操作系统发送广播,则需要在 Context 上使用 sendBroadcast()。将 Context 传递给 sendBroadcastMessage() 或让 Webserver_Connection 保存 Context,注意可能的内存泄漏.

如果您尝试在应用内进行通信,请切换到 using LocalBroadcastManager 。这也需要一个Context来创建您的LocalBroadcastManager实例。但是,它将提高性能和安全性。或者,完全从广播切换并使用另一个进程内事件总线实现,例如 greenrobot 的 EventBus 或 Square 的 Otto,它们都不需要 Context

关于java - 如何从 Android 广播到其他 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35345529/

相关文章:

Java:从int到short,从float到short

android - 将最新的 Android 构建推送到设备

android - 字符串常量的Android Gradle文件生成错误的声明

android - 使用警报管理器时出现 java.lang.NullPointerException 错误

android - 类别 DEFAULT 与广播接收器有什么用?

java - BroadcastReceiver 中如何直接使用方法 "getSystemService"?

java - 商业使用 Java

java - Spark 作业与 yarn-client 一起正常工作,但与 yarn-cluster 完全不工作

java - Mule 4 中的 JSON 到平面文件?

android - 在 Android 中调用 911 或紧急电话号码