问题标签 [broadcastreceiver]

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.

0 投票
5 回答
23404 浏览

android - 如何将数据从 BroadcastReceiver 传递到正在启动的 Activity?

我有一个 Android 应用程序需要全天偶尔唤醒。

为此,我使用 AlarmManager 来设置 PendingIntent 并让它触发一个 BroadcastReceiver。然后此 BroadcastReceiver 启动一个 Activity 以将 UI 带到前台。

以上所有似乎都有效,因为 Activity 正确启动了自己;但我希望 BroadcastReceiver 通知 Activity 它是由警报启动的(而不是由用户启动的)。为此,我正在尝试从 BroadcastReceiver 的 onReceive() 方法在意图的附加包中设置一个变量,因此:

在我的 Activity 的 onResume() 方法中,我然后寻找这个布尔变量的存在:

onResume() 中的 getIntent().getExtras() 调用始终返回 null - 我似乎无法在此捆绑包中传递任何额外内容。

但是,如果我使用相同的方法将额外内容绑定到触发 BroadcastReceiver 的 PendingIntent,那么额外内容就可以了。

谁能告诉我将包从广播接收器传递到活动与将包从活动传递到广播接收器有什么不同?我担心我可能在这里做一些非常明显的错误......

0 投票
1 回答
450 浏览

android - 在接收者标签上的意图过滤器中定义操作有什么意义

我目前正在探索广播接收器和广播意图。教程的某些方面对我来说是模棱两可的。据我所知,这就是该过程的运作方式。我可以从我的应用程序广播一个意图,只要动作匹配,手机上的任何接收器都可以对该意图采取行动。我可以在任何扩展 Context 的东西上注册一个广播接收器,当我这样做时,我必须提供一个过滤器,它允许接收器对一个或多个意图操作采取行动。

让我感到困惑的部分是通过清单定义接收器。所述接收者的名称必须与类名匹配吗?如果我在代码中注册接收器时总是必须提供另一个意图过滤器,为什么我应该在项目清单中定义一个带有操作的意图过滤器?

如果有人有关于使用广播接收器的最佳方法以及我应该如何定义它们的良好教程或示例,我将不胜感激。

0 投票
1 回答
4818 浏览

android - 检测拨出电话,真实设备问题

我有一个奇怪的问题。为了检测拨出电话,我注册了一个广播接收器android.intent.action.PHONE_STATE。当状态变为 OFFHOOK 时,开始对话。它似乎在模拟器上工作:调试器实际上到达了一些代码,而它在真实设备(Acer Liquid)上不起作用。可能吗?
哪种方法可以检测拨出电话?

0 投票
3 回答
16466 浏览

java - 网络状态改变时的广播意图

当网络状态发生变化(即从 GSM 到 Wifi)时,Android 是否会广播意图?如果是这样,我需要什么许可以及意图操作是什么?

0 投票
17 回答
148558 浏览

android - 如何检查 Receiver 是否在 Android 中注册?

我需要检查我的注册接收器是否仍然注册,如果没有我如何检查它的任何方法?

0 投票
2 回答
1149 浏览

android - 安排重复发生的警报/事件

我有一个扩展应用程序的类。在课堂上,我调用了 AlarmManager 并传入了一个意图。按照计划,扩展 BroadcastReceiver 的 EventReceiver 类处理 onReceive 方法中的调用。如何从 onReceive 方法再次调用意图来安排另一个事件?

0 投票
4 回答
30086 浏览

android - 如何在 Android 的不同应用程序中使用广播接收器?

我在 Eclipse 的两个不同项目中有两个应用程序。一个应用程序 (A) 定义了一个首先启动的活动 (A1)。然后我从这个活动开始第二个项目(B)中的第二个活动(B1)。这工作正常。

我通过以下方式启动它:

现在我想通过使用广播接收器在两个活动之间发送意图。在活动 A1 中,我通过以下方式发送意图:

活动 A1 中负责此广播的清单文件部分如下:

在接收活动中,我在清单文件中按以下方式定义接收者:

类消息监听器是这样实现的:

不幸的是,该消息从未收到。尽管调用了活动 A1 中的方法,但我从未在 B1 中收到意图。

任何提示如何解决这个问题?非常感谢!

0 投票
1 回答
7322 浏览

android - 可以以编程方式设置 BroadcastReceiver 优先级吗?

是否可以通过编程方式设置 BroadcastReceiver 的优先级属性,还是只能在 XML 中完成?相关文件包括:

http://developer.android.com/reference/android/content/BroadcastReceiver.html

http://developer.android.com/reference/android/R.styleable.html

似乎并非如此,但我并不完全理解 android.R.styleable 与给定应用程序及其活动的关系......

0 投票
16 回答
194166 浏览

android - 尝试在 Android 上启动服务

当设备在 android 上启动时,我一直在尝试启动服务,但我无法让它工作。我在网上查看了许多链接,但没有一个代码有效。我是不是忘记了什么?

AndroidManifest.xml

广播接收器

0 投票
1 回答
2440 浏览

android - 为什么当应用程序被杀死时,AlarmManager 广播会被取消?

好的,所以我注册了两个 BroadcastReceiver。当应用程序关闭时,它们都会在适当的时间触发并做适当的事情。

如果应用程序被关闭然后被杀死(比如使用 AppKiller),接收者永远不会收到他们的广播,并且什么也没有发生。

如果父应用程序由于内存不足而被杀死,大概会发生同样的事情,那么我如何确保这些广播被触发/接收。API 指出,即使应用程序被杀死,它也应该触发,还有其他人有这种情况的经验吗?

如果它有助于我的清单是:

并且在 AlarmManager/BroadcastReceivers 中没有发生任何深奥的事情