问题标签 [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.
android - 应用程序在后台时阻止 Internet 访问
我正在尝试从广播接收器发布一些数据,但是当我的应用程序长时间处于后台时,它无法连接到互联网并且出现以下错误我正在登录:
即使可以从同一设备的浏览器访问我的服务器。当我的应用程序处于前台或直到我的应用程序进入后台几分钟后,它才能正常工作。
android - Android 服务在发布结果之前被销毁
我有一个 Activity(MainActivity) 启动一个服务 (FirstService) 和 FirstService 启动另一个服务 (SsecondService)。场景是 MainActivity 应该等待来自 FirstService 的结果,但这只会在它收到来自 SecondService 的内容时发送结果。问题是FirstService的“onDestroy()”方法在MainActivity得到最终结果之前被调用并注销了SecondService。
在我的活动中:
我的第一服务:
我现在为此苦苦挣扎了几个小时,但找不到解决方案。我做错了什么,我应该怎么做才能让它发挥作用?任何想法都受到欢迎。干杯!
android - 如何在拨出电话后立即结束拨出电话
我正在尝试结束用户拨打的电话。基本上我会允许一些用户可以拨打和拨打的号码,否则所有其他电话都将结束,用户将无法拨打除这些号码之外的其他号码。
现在的问题是我尝试了几种方法,但它不起作用
我在做什么:
我有一个广播接收器,当用户拨打号码时它被解雇了
在它下我得到拨打的号码,如果它不是我想要的号码,我会尝试结束它。
这是我在接收方法中所做的。
和 Endig Call 方法
正如我们所看到的,我正在使用我在互联网上找到的 4 种不同类型的方式来结束通话,但它不起作用。目前我正在果冻豆上尝试这段代码。但它不起作用。如果有人知道如何结束通话以及什么是正确的方法,请帮助我。
android - GCM 消息已收到但未显示 - 广播接收器结果 = CANCELLED - 服务强制停止
我已经在我的应用程序和服务器上实现了 GCM 消息传递,一切正常,但不是在每部手机上!
主要问题是:
打开应用程序时,我收到 GCM 消息并按预期生成通知,但是当应用程序关闭时,我可以(通过 LOGCAT)看到消息已收到但已取消 - >“广播接收器,结果 = CANCELLED”。
接下来是我无法让我的应用服务在后台运行。只要我从“最近的活动”菜单“关闭”我的应用程序,它也会在后台停止(进入设置 -> 应用程序 -> “MY_APP” -> 强制停止被禁用)。
我做了很多研究,我认为原因可能是华为 P8(主要测试设备)在您将所有应用程序从“最近活动”选项卡上滑开时强制关闭所有应用程序。但如果是这种情况,“Facebook”、“Viber”等其他应用程序就不会向我发送推送通知。
清单.xml
GCMB广播接收器
GCMIntentService
我很困惑!我找不到原因的根源。
提前致谢。
android - android中的BroadcastReceiver在应用程序关闭时不收听
我创建了一个名为 MyReceiver 的 BroadcastReceiver 来监听音量变化事件。应用程序运行时它工作正常。但是,当我关闭应用程序时,它会停止收听广播。
这是清单文件中注册的广播接收器。
android - 系统何时开始考虑动态注册的 BroadcastReceiver?
我的问题是:“我的邮箱什么时候会被邮递员注意到”,而不是“我什么时候可以阅读任何信件”?
我有一个Activity
允许用户编辑列表。一旦用户提交编辑,IntentService
就会启动 an ,然后调用数据库助手以根据需要更改数据库条目。
一旦数据库成功更新(在那之前没有崩溃),数据库助手将“ok”写入SharedPreferences
并返回到IntentService
. 向IntentService
a 发送一条消息BroadcastReceiver
,现在导致列表从 db 重新加载当前数据。
是的BroadcastReceiver
内部类,Activity
它在以下位置动态注册onCreate()
:
如果用户留在我Activity
的列表中,直到可以重新加载列表,那根本没有问题。但是想象一下用户四处移动并以某种方式导致方向改变......这就是为什么我有“ok”的原因SharedPeferences
:
在onCreate()
,注册接收者后,我检查是否有待处理的操作:
如果数据库更新成功,我可以加载数据并为我的接收者设置一个标志以忽略下一条消息。它将来,因为 IntentService 配置了setIntentRedelivery(true)
.
如果我发现数据库还没有更新,我决定等待来自IntentService
.
我非常不确定的一件事是:
从哪一刻起,系统会认为我的接收器“启动并运行”?我知道onReceive()
只能在onCreate()
完成后调用。
是否有可能onCreate()
在执行时, IntentService 触发本地广播(“太快”)而我的接收器永远不会得到它?
然后该列表将永远不会刷新,直到用户离开Activity
(这很可能)并再次返回(然后不太可能)。
android - 接收从 Google Cloud Messaging 发送的消息 - Android
我在接收从 GCM 发送的消息时遇到了很多麻烦。我的WakefulBroadcastReceiver
永远不会被解雇。我四处寻找很多帮助,但没有用。对此的任何帮助将不胜感激!
唤醒广播接收器
意向服务
显现
android - 未调用多个警报的警报接收器
我正在尝试在不同的特定时间重复多个警报。问题是警报接收器在任何给定时间都没有被调用。
我在活动中的代码:
这是我的警报接收器:
}
清单声明:(在应用程序标签内)
我觉得上面的代码应该至少执行一次广播接收器,但 logcat 中没有显示任何内容。有人能告诉我我错过了什么吗?
android - Android - 避免在用户更改日期/时间时触发警报
setRepeating
我有一个应用程序,通过以下方法在一周中的每一天发送定期警报AlarmManager
:
然后在我AlarmReceiver
定义的清单上作为接收器获取警报:
问题是当用户将日期/时间从他的手机更改为未来一天或两天时,我会收到来自接收器的几个电话(取决于选择的天数)。由于我使用了一种setRepeating
方法,我无法验证警报是否在正确的时间发送。
我知道这是这里描述的正常程序: “触发时间。如果您指定的触发时间是过去,警报会立即触发。” ,但我想阻止它。
我想让一个听众知道用户何时更改了他手机的日期和时间,取消安排所有警报,然后重新安排它们,如下所示:
和清单:
但是在这个解决方案中,时间变化的接收器在警报接收器之后,所以它对我没有多大帮助......
有没有办法选择我的接收器的顺序?
有一个更好的方法吗?
我也想把一个听众放在时钟上,把它存储起来。如果用户更改时间我应该只验证差异......但我相信我可以获得更好的方法来做到这一点(最好不涉及应用程序上的另一个听众)