问题标签 [foreground-service]

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

android - stopForeground(true) 在服务上调用,给我一个类名空问题

这就是我开始服务的方式:

我在 onStartCommand 上执行此操作:

当我从 googleApiClient 断开连接时,我想像这样停止它:

它总是在方法中崩溃并stopForeground(true)出现此错误:

0 投票
1 回答
49 浏览

android - 如何知道 Android 前台服务是由操作系统启动还是由某些用户操作启动的?

无论我的 Android 应用程序是运行还是关闭,我都需要保持服务运行(获取最新的位置更新)。

为此,我终于使用了基于通知的前台服务,并且它可以很好地完成这项工作,除非并且直到应用程序关闭。所以会发生什么:

  • 当应用程序在 UI 上或后台运行时,服务会完美地获取位置。
  • 当应用程序关闭时,即从最近的应用程序中删除,服务会以某种方式重新启动并且无法获取位置更新。

现在,我想了解该服务是由我的应用程序还是由 Android 操作系统启动的。有什么办法可以弄清楚吗?

我尝试了以下方法,但问题是intent由服务启动时并不总是为空。

0 投票
0 回答
796 浏览

android - 将语音识别作为前台服务运行(在 Android 中持续)

我正在尝试构建一个应用程序,该应用程序可以持续聆听人们在电话中的谈话内容,并将转换后的语音转文本存储在一个文件中。用户还知道设备处于始终收听模式。

下面的代码有效!(虽然只是在一定程度上)。它连续运行语音识别:

  • 打开应用程序时

  • 即使设备屏幕为空白

  • 即使我切换到不同的应用程序。

但是,一旦我按下主页按钮(Android 中的中心圆形软触摸按钮),它就会停止工作。该应用程序不会崩溃,但会停止接收音频。

当我单击此应用程序的通知卡(通过从手机顶部拉出)时,应用程序崩溃,指出“活动 com.truiton.foregroundservice.MainActivity 已泄漏 ServiceConnection android.speech.SpeechRecognizer$Connection@188bc34最初被绑定在这里”意味着音频设备已经被绑定。

我正在 Nexus 6P 手机上对其进行测试。

这是代码:

调用语音识别的前台服务代码在这里:

0 投票
1 回答
1038 浏览

android - 带有通知通道的 Android 8 前台服务

我想在 Android 8 中启动一个前台服务,我想知道前台服务如何与通知通道系统兼容。

假设我们启动了一个前台服务,然后我们立即创建所需的通知并将其分配给通知通道。突然,用户决定进入系统设置并禁用通知通道。

在这种情况下会发生什么?服务会变成后台服务吗?它会被杀死吗?我还没有找到记录在案的答案。

0 投票
0 回答
1113 浏览

android - 无法两次启动媒体投影

嘿,我有一个完整的正在运行的应用程序,女巫开始从前台服务捕获屏幕内容但是当我在停止后第二次尝试录制时它崩溃了

这是整个场景:我正在从这样的主要活动开始前台服务:

然后服务是这样的:

}

但是它因这个 logcat 错误而崩溃

不知道我已经知道关于空指针的问题出在哪里,我对此做了一些事情,但没有奏效

顺便说一句,任何帮助将不胜感激

0 投票
1 回答
1552 浏览

android - 如何更新自定义布局通知操作?

我有一个带有自定义布局的完全有效的通知,但是我不知道如何在特定情况下更新操作

我正在使用此通知在应用程序外启动和停止媒体播放器,但我需要某种更新操作(待定意图按钮)

例如:每当我点击播放时,它应该添加停止动作(用新动作更新通知)

这是代码:

}

任何帮助将不胜感激

0 投票
0 回答
784 浏览

android - 为什么我绑定的前台服务被 Android Oreo 停止了?

我创建了一个应用程序,它需要在后台不断扫描我们自己的蓝牙设备。当其中一台蓝牙设备在附近时,应用程序需要执行某些操作。

我使用绑定的前台服务来扫描蓝牙设备,当设备在附近时,应用程序开始侦听位置更新。当设备不在附近时,应用程序会停止位置更新并重新开始扫描。在奥利奥之前,这一直很好用。

在 Android Oreo 上,服务通常在运行 2-3 天后停止。我不知道为什么会这样。

这就是我在主要活动中创建服务的方式:

这是该服务的简化版本:

我的问题是我做错了什么?我可以在服务被杀死后以某种方式重新启动服务吗?

0 投票
1 回答
1289 浏览

android - 使用媒体投影的屏幕截图不执行任何操作

大家好,我有一个来自(@commonsware)的示例屏幕截图项目,使用媒体项目在任何屏幕上执行屏幕截图(在前台服务模式下运行并带有通知)

但是它没有拍任何照片,只是在按钮点击时发出哔哔声

我的方法也是更改目录,但不知道我需要如何更改它,因为我想将所有图像加载到应用程序内的 recyclerview 中

任何帮助将不胜感激

这是整个服务代码:

}

还有图像变换器类:

}

0 投票
1 回答
1023 浏览

android - 奥利奥,关闭时前台服务停止

我正在使用服务作为前台服务。在 android pre O 版本上一切正常。但是在android Oreo中,当我关闭应用程序时,前台服务也关闭了...

这里我如何开始服务:

而不是内部服务onStart

清单中的服务:

知道为什么它会与应用程序一起关闭以及如何防止它吗?

谢谢!

0 投票
1 回答
6607 浏览

android - 如何从广播接收器启动前台服务?

我正在创建一个与电池相关的应用程序。我创建了一个在清单中声明的​​广播接收器:

显现 :

接收者 :

我想添加一个前台通知(比如这个)但是我应该如何从广播接收器添加它?(即如何从广播接收器启动服务?)