Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从广播接收器驱动服务API_Android - Fatal编程技术网

Android 从广播接收器驱动服务API

Android 从广播接收器驱动服务API,android,Android,在驱动定制API之前,尝试从接收器的onReceive()绑定到本地服务时,会收到一条错误消息 “不允许IntentReceiver组件绑定到服务” 在广播接收器中从服务获取数据的最佳方式是什么 非常感谢 另外,我需要同步获取答案,也就是说,我在等待服务的答案,因此可能无法进行回调 在广播接收器中从服务获取数据的最佳方式是什么 如果BroadcastReceiver是从其他内容(例如活动)创建的,并使用registerReceiver()进行设置,则“其他内容”是应该绑定到服务并执行工作的内容

在驱动定制API之前,尝试从接收器的onReceive()绑定到本地服务时,会收到一条错误消息

“不允许IntentReceiver组件绑定到服务”

在广播接收器中从服务获取数据的最佳方式是什么

非常感谢

另外,我需要同步获取答案,也就是说,我在等待服务的答案,因此可能无法进行回调

在广播接收器中从服务获取数据的最佳方式是什么

如果
BroadcastReceiver
是从其他内容(例如活动)创建的,并使用
registerReceiver()
进行设置,则“其他内容”是应该绑定到服务并执行工作的内容

如果
BroadcastReceiver
是清单中注册的组件,那么您需要重新考虑您试图解决的任何问题的方法。这些类型的
BroadcastReceivers
不能绑定到服务,也不能花很多时间做工作。如果
BroadcastReceiver
无法在10毫秒内完成其工作,则应通过
startService()
将控制权委托给服务。然后,该服务可以在后台线程上完成工作

另外,我需要同步获得答案,即我等待服务部门的答案


参见上文。

嗨,是后者。疯狂的是,我只是将服务作为一种工具来实现,用于在较长的时间段内监听信号强度,并设置一个我希望通过(绑定的)API访问的成员数据变量。我在应用程序中没有任何活动,因此没有其他东西可以让侦听器挂断。BroadcastReceiver基本上是整个应用程序-它嗅出传入呼叫状态的变化并截获传出呼叫请求。在这些传出的请求离开手机之前,我想检查信号强度“内联”。为了做到这一点,我们已经确定,我需要一个服务来保存侦听器的生命周期,我需要记住最后一个信号强度值。我需要在执行onReceive()中用于传出呼叫的代码时,该值对我可用。希望这是有意义的。@SCG:您将被一个静态数据成员卡住,然后从服务中更新,由
广播接收器读取。在任何普通的应用中,这都应该像瘟疫一样被避免。这也是我的结论,虽然丑陋如罪,但它是有效的。谢谢。@commonware我们自己也在处理广播接收机。你能详细说明你提出的解决方案吗?即使是丑陋的