问题标签 [android-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 投票
1 回答
103 浏览

android - 应用程序在后台时阻止 Internet 访问

我正在尝试从广播接收器发布一些数据,但是当我的应用程序长时间处于后台时,它无法连接到互联网并且出现以下错误我正在登录:

即使可以从同一设备的浏览器访问我的服务器。当我的应用程序处于前台或直到我的应用程序进入后台几分钟后,它才能正常工作。

0 投票
2 回答
162 浏览

android - Android 服务在发布结果之前被销毁

我有一个 Activity(MainActivity) 启动一个服务 (FirstService) 和 FirstService 启动另一个服务 (SsecondService)。场景是 MainActivity 应该等待来自 FirstService 的结果,但这只会在它收到来自 SecondService 的内容时发送结果。问题是FirstService的“onDestroy()”方法在MainActivity得到最终结果之前被调用并注销了SecondService。

在我的活动中:

我的第一服务:

我现在为此苦苦挣扎了几个小时,但找不到解决方案。我做错了什么,我应该怎么做才能让它发挥作用?任何想法都受到欢迎。干杯!

0 投票
1 回答
570 浏览

android - 如何在拨出电话后立即结束拨出电话

我正在尝试结束用户拨打的电话。基本上我会允许一些用户可以拨打和拨打的号码,否则所有其他电话都将结束,用户将无法拨打除这些号码之外的其他号码。

现在的问题是我尝试了几种方法,但它不起作用

我在做什么:

我有一个广播接收器,当用户拨打号码时它被解雇了

在它下我得到拨打的号码,如果它不是我想要的号码,我会尝试结束它。

这是我在接收方法中所做的。

和 Endig Call 方法

正如我们所看到的,我正在使用我在互联网上找到的 4 种不同类型的方式来结束通话,但它不起作用。目前我正在果冻豆上尝试这段代码。但它不起作用。如果有人知道如何结束通话以及什么是正确的方法,请帮助我。

0 投票
2 回答
1275 浏览

android - GCM 消息已收到但未显示 - 广播接收器结果 = CANCELLED - 服务强制停止

我已经在我的应用程序和服务器上实现了 GCM 消息传递,一切正常,但不是在每部手机上!

主要问题是:

  • 打开应用程序时,我收到 GCM 消息并按预期生成通知,但是当应用程序关闭时,我可以(通过 LOGCAT)看到消息已收到但已取消 - >“广播接收器,结果 = CANCELLED”。

  • 接下来是我无法让我的应用服务在后台运行。只要我从“最近的活动”菜单“关闭”我的应用程序,它也会在后台停止(进入设置 -> 应用程序 -> “MY_APP” -> 强制停止被禁用)。

我做了很多研究,我认为原因可能是华为 P8(主要测试设备)在您将所有应用程序从“最近活动”选项卡上滑开时强制关闭所有应用程序。但如果是这种情况,“Facebook”、“Viber”等其他应用程序就不会向我发送推送通知。

清单.xml

GCMB广播接收器

GCMIntentService

我很困惑!我找不到原因的根源。

提前致谢。

0 投票
0 回答
721 浏览

android - 即使我在 Android 中单击它,通知也不会消失

我是 Android 的绝对初学者。现在我正在学习如何将通知与广播接收器一起使用。要向用户显示通知,它工作正常。但问题是我点击后通知永远不会消失。我按时间间隔向用户显示通知。

这是我的活动课:

这是我的接收器类显示通知:

它显示不是很好。但即使我点击它,它也永远不会消失。它仍然像在屏幕截图中一样。

在此处输入图像描述

我的代码有什么问题?

0 投票
0 回答
229 浏览

android - android中的BroadcastReceiver在应用程序关闭时不收听

我创建了一个名为 MyReceiver 的 BroadcastReceiver 来监听音量变化事件。应用程序运行时它工作正常。但是,当我关闭应用程序时,它会停止收听广播。

这是清单文件中注册的广播接收器。

0 投票
1 回答
81 浏览

android - 系统何时开始考虑动态注册的 BroadcastReceiver?

我的问题是:“我的邮箱什么时候会被邮递员注意到”,而不是“我什么时候可以阅读任何信件”?

我有一个Activity允许用户编辑列表。一旦用户提交编辑,IntentService就会启动 an ,然后调用数据库助手以根据需要更改数据库条目。

一旦数据库成功更新(在那之前没有崩溃),数据库助手将“ok”写入SharedPreferences并返回到IntentService. 向IntentServicea 发送一条消息BroadcastReceiver,现在导致列表从 db 重新加载当前数据。

是的BroadcastReceiver内部类,Activity它在以下位置动态注册onCreate()

如果用户留在我Activity的列表中,直到可以重新加载列表,那根本没有问题。但是想象一下用户四处移动并以某种方式导致方向改变......这就是为什么我有“ok”的原因SharedPeferences

onCreate(),注册接收者后,我检查是否有待处理的操作:

如果数据库更新成功,我可以加载数据并为我的接收者设置一个标志以忽略下一条消息。它将来,因为 IntentService 配置了setIntentRedelivery(true).

如果我发现数据库还没有更新,我决定等待来自IntentService.

我非常不确定的一件事是:

从哪一刻起,系统会认为我的接收器“启动并运行”?我知道onReceive()只能在onCreate()完成后调用。

是否有可能onCreate()在执行时, IntentService 触发本地广播(“太快”)而我的接收器永远不会得到它?

然后该列表将永远不会刷新,直到用户离开Activity(这很可能)并再次返回(然后不太可能)。

0 投票
1 回答
280 浏览

android - 接收从 Google Cloud Messaging 发送的消息 - Android

我在接收从 GCM 发送的消息时遇到了很多麻烦。我的WakefulBroadcastReceiver永远不会被解雇。我四处寻找很多帮助,但没有用。对此的任何帮助将不胜感激!

唤醒广播接收器

意向服务

显现

0 投票
1 回答
482 浏览

android - 未调用多个警报的警报接收器

我正在尝试在不同的特定时间重复多个警报。问题是警报接收器在任何给定时间都没有被调用。

我在活动中的代码:

这是我的警报接收器:

}

清单声明:(在应用程序标签内)

我觉得上面的代码应该至少执行一次广播接收器,但 logcat 中没有显示任何内容。有人能告诉我我错过了什么吗?

0 投票
3 回答
2235 浏览

android - Android - 避免在用户更改日期/时间时触发警报

setRepeating我有一个应用程序,通过以下方法在一周中的每一天发送定期警报AlarmManager

然后在我AlarmReceiver定义的清单上作为接收器获取警报:

问题是当用户将日期/时间从他的手机更改为未来一天或两天时,我会收到来自接收器的几个电话(取决于选择的天数)。由于我使用了一种setRepeating方法,我无法验证警报是否在正确的时间发送。

我知道这是这里描述的正常程序: “触发时间。如果您指定的触发时间是过去,警报会立即触发。” ,但我想阻止它。

我想让一个听众知道用户何时更改了他手机的日期和时间,取消安排所有警报,然后重新安排它们,如下所示:

和清单:

但是在这个解决方案中,时间变化的接收器在警报接收器之后,所以它对我没有多大帮助......

有没有办法选择我的接收器的顺序?

有一个更好的方法吗?

我也想把一个听众放在时钟上,把它存储起来。如果用户更改时间我应该只验证差异......但我相信我可以获得更好的方法来做到这一点(最好不涉及应用程序上的另一个听众)