如何使用代码从电池优化中排除 Android 应用

2023-12-26

我是 Android 新手,现在正在开发一个基于 GPS 的项目。我从互联网(traccar)获得源代码。我的要求是应用程序应该每 1 公里或每 1 小时更新一次位置。但问题是应用程序在一段时间(10 - 20 分钟)后无法在后台运行。有什么解决办法吗?

当应用程序启动时,我应该做什么(在代码中)将此应用程序从电池优化中排除?是否可以 ?


我认为你有两个不同的问题:

1)如果你想让你的应用程序保持在后台,你应该使用前台服务。这样,系统就不会认为您的应用程序处于后台,并且其进程被终止的可能性也会大大降低。缺点是,只要您的服务位于前台,您就需要显示永久通知。

2) 您无法自行将您的应用排除在电池优化之外,但您可以提示用户设置将您的应用列入白名单。为此,您可以参考官方文档 https://developer.android.com/reference/android/provider/Settings#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,您需要添加Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS向清单授予权限,然后通过操作启动意图ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS https://developer.android.com/reference/android/provider/Settings.html#ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS。然后,用户将能够将您的应用程序列入白名单,只有她/他可以这样做,因为否则每个应用程序都会将自己列入白名单,并且电池优化的目的将被违背。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用代码从电池优化中排除 Android 应用 的相关文章

随机推荐