首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让我的android应用程序在后台保持活动状态,以便全天候连续收集传感器数据

如何让我的android应用程序在后台保持活动状态,以便全天候连续收集传感器数据
EN

Stack Overflow用户
提问于 2019-01-10 16:34:03
回答 3查看 10K关注 0票数 7

我已经构建了一个android应用程序,用于收集移动和可穿戴传感器数据。我希望这个应用程序是在后台24/7运行,而不是被操作系统杀死。我知道全天候运行它的所有优点和缺点,但这是我的主要业务需求。

编辑:我已经把它作为前台服务了,只要我一直和我的手机交互,它就能工作,但是如果我让它空闲4-5个小时,即使它被列为前台服务,操作系统也会取消它

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-01-10 17:20:06

在android棉花糖之后运行后台服务是一个令人头疼的问题。

每一次后台操作都被Doze and StandBy Modes挂起。而且,即使您使用job dispatcher或WorkManger,运行操作的最小间隔也是15分钟,即使您将最小间隔设置为小于15分钟。

所以你需要启动一个带有粘性通知的前台服务来完成你的工作。您可以查看此article以开始使用前台服务。如果您的应用程序将在androi Pie上运行,请不要忘记将此预授权放入清单文件中

代码语言:javascript
运行
复制
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

你可以在电话重启时使用广播接收器重新运行你的服务。

代码语言:javascript
运行
复制
<action android:name="android.intent.action.BOOT_COMPLETED" />

你也可以通过监听这个动作来停止它

代码语言:javascript
运行
复制
 <action android:name="android.intent.action.ACTION_SHUTDOWN" />
票数 4
EN

Stack Overflow用户

发布于 2019-01-10 16:48:33

使用Service收集数据您可以在前台运行它,它不会被操作系统杀死

票数 0
EN

Stack Overflow用户

发布于 2019-01-10 21:01:30

将应用程序设置为启动程序,并将其设置为默认启动程序。您可以按照本指南here进行操作。这个想法是,当手机启动时,启动程序是由操作系统启动的,当系统内存不足时,它永远不会被关闭。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54124631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档