问题标签 [localbroadcastmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 为什么 LocalBroadcastManager 不起作用?
我尝试学习 LocalBroadcastManager。在网上搜索并实现了一个简单的应用程序,其中包含两个活动来执行 LocalBroadcastManager。但它不起作用。我找不到我的代码有什么问题。请帮我!
这是我的代码。
第一活动.java
SecondActivity.java
AndroidManifest.xml
android - 确定应用程序是否已在不使用 OnStop() 的情况下关闭
我想要做的是在用户退出我的应用程序时向我的后端服务器发送一个注销请求(可能在任何活动期间发生,有很多)。
似乎我无法使用OnStop()
,因为我有一个画廊选择器和相机 Intent 以及它们何时启动OnPause
并被OnStop
调用。我需要一种方法来明确知道该应用程序已关闭。
我已经阅读了有关使用Service
/BroadcastReceiver
甚至是LocalBroadcastManager
,或者可能将请求绑定到单击主页按钮的信息。
我无法检查应用程序是否已发送到后台,因为这对于相机/图库 Intent 启动以及正在发送到后台的应用程序都是如此。我还尝试检查正在启动的活动的包名称,但这可能在其他设备上是可变的(例如,画廊可能有不同的包名称)。
非常感谢任何建议/方向。
编辑:我发现实际上没有办法拦截按下主页按钮。仍在寻找解决方案!
broadcastreceiver - 我可以分别在 onCreateView/onDestroyView 中注册/注销广播接收器吗?
我正在从AsyncTask
to广播数据(文件下载完成)Fragment
并相应更新ListView
。
我已经读过广播接收器应该分别在onStart()
/中注册/注销onStop()
。
onStop()
但是在这种情况下,当应用程序不是前台但在后台运行(已调用但未onDestroyView()
调用)时,我会错过已广播的数据。
那么要解决这个问题,我可以分别在onCreateView()
/中注册/注销广播接收器onDestroyView()
吗?
还建议是否有任何替代解决方案。
提前谢谢了。
android - sqlite插入/更新完成后如何触发sendBroadcast?
sqlite插入/更新完成后如何触发sendBroadcast?BroadCastReceiver 得到正确的广播。
我就是这样做的,但是 sendBroadcast 在插入/更新完成之前触发。
编辑
更具体地说,这里有更多代码我是如何做到的:
我的活动.java
DBDatabase.java
android - IntentService LocalBroadcastManager 未到达接收方
我正在使用 Android Studio 1.3,我有一个IntentService
收集一些数据并通过如下方式发送出去的设置LocalBroadcastManager
:
意向服务
上面的代码运行,但广播从未被捕获。
AndroidManifest.xml
扩展广播接收器的接收器(从不被调用)
主活动 onCreate()
我在这里做错了什么导致无法接收到广播?我想这与我的IntentFilter
?
android - LocalBroadcastManager 不起作用
在我的 android 项目中,有一个活动和服务。在主布局中,我有三个控件:2 个按钮(开始和停止按钮)和一个 TextView(用于结果)。当我单击开始按钮时,服务将启动并通过 localbroadcastmanager 向主要活动发送一条短信,活动必须显示TextView 中的消息,但这没有发生。我还应该补充一点,我已将 Android 支持库 v4 添加到我的项目中,并且在运行应用程序时我没有收到任何错误和崩溃。我已经在真实设备和 genymotion 上测试了这些代码,但我没有得到想要的结果。如果您告诉我的代码有什么问题,我会:这是我的活动代码:
// 服务代码:
android - 当我将我的模块与该应用程序集成时,两个应用程序收到相同的通知消息
我正在使用 android studio,我在我的应用程序中实现广播,以便它应该只触发一个应用程序,我正在使用 Localbroadcastmanager 进行注册和注销
我已将MyModules与安装在一部 Android 手机中的两个应用程序集成。
当我从其他 Android 手机向APP1发送消息时,它会接收到 APP1 的消息但APP1和APP2同时触发通知。
我的广播服务.java
我正在设置我的意图操作“com.notification.send”
AndroidManifest.xml
这是我的NotificationBroadcastReceiver.java
两个应用都在收听同一个广播,如何解决这个问题?
提前致谢
我通过使用 context.getPackageName() 解决了这个问题,我已经附加了我的操作
广播服务.java
AndroidManifest.xml
android - 片段的 BroadcastReceiver onCreate 方法没有被调用
我的 Activity 中有一个简单的 Fragment,我在其中启用和禁用蓝牙适配器,并且我想使用 Fragment 中的 BroadcastReceiver 监听蓝牙适配器的状态变化。原因是我想在蓝牙状态更改时直接更改 Fragment 的 UI 元素。这是我的代码:
当我使用 Fragment 的 ActionBar 中的 Action Buttons 在我的设备中启用或禁用 BT 时,BT 会打开和关闭,但我的接收器永远不会被调用。我从来没有进入接收者的 onReceive 方法。我意识到这是一个很常见的问题,但是我尝试了几个解决方案,但都没有奏效(并且所有这些都包含在我当前的代码中)。
感谢您的任何建议!
android - BroadcastReceiver的onReceive方法没有被调用
我有一个内部有 Fragment 和 IntentService 的 Activity。当我单击按钮对话框片段打开并输入我的数据。之后,我单击 Ok 并调用 getActivity().startService(intent)。服务通过 LocalBroadcastManager 调用 sendBroadcast(intent),但未调用 onReceive() 方法。怎么了?有我的广播接收器
我在这里注册接收器
我的 onDestroy 方法
和我在服务中发送广播的方法
android - 如果活动正在运行,则发送 LocalBroadcast 否则从后台服务发送通知
如果 Activity 正在运行,我需要使用 LocalBroadcast 从后台服务更新我的 Activity。如果应用程序或活动目前没有运行,我想添加一个待处理通知。
我浏览了以下帖子-
我有以下疑问 -
- 如何检查应用程序/活动是否从后台服务运行?
- 如果我在我的活动中注册和取消注册 onPause() 和 onResume() 中的广播侦听器,我还需要检查活动是否正在运行吗?
- 根据上面的链接#2 -
If the activity is not on-screen, its receiver will not be registered, so the event will go to the default handler, in the form of your manifest-registered BroadcastReceiver, which will raise the Notification
如果可能的话,如何实现这一点?
如果还有其他解决方案,也请分享。