问题标签 [bindservice]

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 回答
43 浏览

android - 服务从不同的应用程序启动活动

我开发了两个使用相同服务的应用程序(将来可能会更多)。当我启动其中一个应用程序时,他们应该启动服务(如果尚未启动)并发送活动名称以告诉服务该应用程序可用。

该服务位于第三个项目中,该项目作为应用程序中的库实现。该服务在后台侦听事件并启动其中一个应用程序。

现在的问题是,我如何启动服务。

我已经尝试过 startService 和 bindService:

启动服务:

为两个应用程序启动一个新服务,因为该服务不在同一个应用程序中。所以 2 个服务正在运行并监听相同的事件。

绑定服务:

我在 Messenger 的帮助下实现了它。(https://developer.android.com/guide/components/bound-services.html

这里的问题是,只有至少一个活动绑定到服务时,服务才会运行。但我需要完成活动,以便用户可以正常使用设备。但这将取消绑定服务并将其关闭。

我还必须在重新启动后运行服务。但我想如果我创建一个在设备启动后启动活动的 BroadcastReceiver 会起作用。

有谁知道如何处理这个?

谢谢最好的问候

费边

0 投票
3 回答
4900 浏览

android - SpeechRecognizer,绑定到识别服务失败

我在 android 上使用 SpeechRecognizer 来识别用户的声音。在卸载 Google App 之前它运行良好。(https://play.google.com/store/apps/details?id=com.google.android.googlequicksearchbox&hl=en

我更新了谷歌应用程序,但出现“绑定识别服务失败”等错误。如何使应用程序成功运行?

正常使用 SpeechRecognizer 应该怎么做?

谢谢。

0 投票
0 回答
45 浏览

android - 为什么要重启服务

我的服务有问题,该服务从 MainActivity 运行(我正在测试)并扩展了服务。

我想从前台和后台使用服务(当应用程序关闭时),我已经遇到了第一个问题:

当我关闭应用程序时,我的服务(有一个由 LOG 显示的计数器)正在重新启动。

我也希望能够将服务与打开的应用程序和关闭应用程序一起使用,换句话说,同时使用服务启动和链接服务

在主要活动中

为什么因为当我关闭应用程序时服务会重新启动,我该如何避免它?

0 投票
3 回答
1357 浏览

cloud - Pivotal Cloud Foundry - 为什么在绑定服务后需要重新启动

一旦调用 cf bind-service 命令,VCAP_SERVICES 中的条目似乎就会被添加。如果是这种情况,为什么需要重新启动

0 投票
1 回答
80 浏览

android - 当我的绑定服务更改其状态时刷新主活动

Main Activity当我Bind Service改变状态时,我需要刷新。我的代码MainActivity

虽然服务是:

主要Activity有一个Listview, 一个方法addLamp(URL,text)添加Lamp到列表中。我需要刷新 Main Activity,当 bol 返回时true,我调用notifyDataSetChanged()刷新listView. 该代码有效,因为当调用onCreate()包含 的主活动时,使用我创建notifyDataSetChanged()的 刷新列表。我的问题是不出来。代码是:lampaddLampServicelooperaddLamp

虽然代码lamp是:

0 投票
1 回答
86 浏览

android - 调用 onDestroy() 后,Android 服务仍驻留在 RAM 中

我想对我的 android 包进行内存测试。

在我的包中,只有一项非常简单的服务。

该服务仅由另一个包中的 bindService 启动。(不是启动服务)

之后,另一个包(包 1)向我的包调用 bindService,包终止。然后我的包的日志如下。

04-04 16:13:06.966 5468-5468/memorytestapp I/: @onBind

调用 onDestroy 后,我希望我的包在一定时间后不会驻留在 RAM 中。

然而,即使包 1(调用者)在终止后没有立即驻留在 RAM 中,我的 packagee(被调用者)仍然持续驻留在 RAM 中。

3小时后,当我进入'adb sehll dumpsys activity oom | grep my package name' 来检查内存状态,它显示了这一行。

过程#5:cch B/ /CEM trm:0 5468:memorytestapp/u0a227(cch-empty)

虽然我的包处于缓存状态,但它仍然持续驻留在 RAM 中。即使我在 onDestroy 插入代码“stopService 或 stopSelf”,它也具有相同的状态!

在调用 onDestroy 后,我真的希望我的包不驻留在 RAM 中。

对这种情况有什么意见或评论吗?

真诚的,洛根。

我的包的源代码如下。

0 投票
1 回答
279 浏览

android - 如何捕获 bindService 失败

我有一些可以运行或停止的前景 IntentService。如果它是可见的,我需要在 Activity 上反映它的进度(当前状态非常复杂)。

我没有找到可靠和好的方法来确定我的 IntentService 是否正在运行并准备好绑定到我的 Activity。

如果我做bindService它总是返回 true。如果 IntentService 未运行,则永远不会调用onServiceConnected(以及任何其他回调),并且我的活动始终保持在准备状态。

我发现的唯一可行的解​​决方案是我的 IntentService 类中的静态变量,它指示服务正在运行。但我认为使用这种方法是不好的做法,许多人警告说它在某些情况下无法工作或不可预测。

问题: Android 开发者希望如何处理 bindService 调用失败?

特殊情况:如果我们尝试绑定到现在未运行或处于某种中间状态(例如关闭等)的服务,该怎么办。

0 投票
1 回答
5418 浏览

android - 从服务中将 PlayerView 与 SimpleExoPlayer 绑定

我已经实现了一个服务来在后台运行音频,它运行完美,但是我无法将 SimpleExoPlayer 的实例从服务获取到更新 UI 的活动,如果我退出并重新打开音频,音频在后台播放两次活动。

音频播放器服务

这是我启动服务并绑定到它的活动。我必须传递 Item 对象才能运行服务,如果我不使用意图传递数据,服务将崩溃,所以我不能在服务本身中执行 startService() 我必须在活动中启动我猜。

玩家活动

我已经尝试了我所知道的一切,但正因为如此,我无法继续前进。

0 投票
0 回答
24 浏览

java - 无法“重新绑定”到同一服务

我正在构建一个计时器应用程序。计时器在服务上运行并更新 ui。应用程序在 onCreate() 中启动服务。

有用。除非它没有。特别是关于配置更改。

我知道调用活动被破坏(onDestroy)然后重新创建,再次调用 onCreate 并且... bindService()应该绑定到同一个服务。我在相同的(应用程序)上下文中使用相同的 Intent、相同的 serviceConnection 调用它。

它没有。它以某种方式绑定到一个新的服务对象。(我在调试器中可以看到,返回给activity的对象不一样)。这打破了我的计时器。

有趣的是,当我退出活动并通过通知重新进入活动时(它是一个前台服务,通知将您带到同一个活动), onCreate() 再次被调用,startService 和 bindService 也被调用,但是那个时候,它是以某种方式能够正确绑定到正在运行的服务。

我错过了什么?

编辑:以下是服务代码的主要部分:

0 投票
1 回答
761 浏览

java - bindservice 不会启动服务并且 onserviceconnect 不会调用

我正在尝试为反应本机应用程序构建和运行服务,并且在服务运行后我需要调用一些服务方法这意味着我需要获取正在运行的服务的实例所以我尝试使用 bindservice ()。

问题是,当我调用 bindservice() 时,onServiceConnected() 和 onStartCommand() 不会启动,另一方面,服务中的 onBind() 正在启动。

我试过的所有答案都没有帮助,这是其中的一部分:

ServiceConnection.onServiceConnected() 在绑定到已启动的 服务后从未调用 onServiceConnected 在 bindService 方法之后从未调用 ServiceConnection::onServiceConnected 即使 Context::bindService 返回 true 也未调用? OnServiceConnected 没有被调用

提前致谢。


这是服务:

react native 的包:

AndroidManifest.xml包含_