gpt4 book ai didi

java - 如何在手机 hibernate 时继续使用 onSensorChanged()?

转载 作者:行者123 更新时间:2023-12-05 00:01:05 24 4
gpt4 key购买 nike

我正在创建一个需要检测手机检测到的最大加速度的应用程序。目前它可以工作,但是当屏幕关闭时它不会继续执行任务。为了实现我现在所拥有的,我在 onCreate 中写道:

mSensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
mAccelerometer = mSensorManager!!.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION)

我已经在类中全局初始化了这些变量。然后我实现了 onSensorChanged()onResume()onPause() 并将 onAccuracyChanged 留空。

据我了解,实现这样的功能与更简单地创建异步任务不同。我将如何着手改变它以使其也能在后台工作?谢谢!

最佳答案

即使使用 WakeLock - official documentation is clear,当应用进入后台时,您将无法使用 Sensors API。关于那个。

不过,即使在前台服务中禁用了手机屏幕,您也可以轻松继续使用 Sensors API。为此,请使用本文档作为开始 - Foreground Service .这并不能保证服务的永恒生命,但它肯定会比普通服务活得更久,而且您可以访问 Sensors API。在这种情况下,我不确定 WakeLock - 您将不得不尝试(但我认为您不需要它)。

Here是答案的跨度。其中一些包含示例代码甚至示例项目的链接

Herehere有媒体文章形式的 neet 示例。

关于java - 如何在手机 hibernate 时继续使用 onSensorChanged()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69598901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com