erl*_*man 8 java android android-service android-sensors kotlin
我能做的事情:
sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
val accelerometerSensor =
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER)
sensorManager.registerListener(
accSensor,
accelerometerSensor,
SensorManager.SENSOR_DELAY_NORMAL
)
Run Code Online (Sandbox Code Playgroud)
serviceIntent = Intent(context, SensorService::class.java)
context.startForegroundService(serviceIntent)
Run Code Online (Sandbox Code Playgroud)
但我无法:
从系统接收运动开始和运动结束通知/回调的方式可能是什么,以便我们可以决定启动/结束前台服务。
评论太大了,所以我将其作为答案发布。这在某种程度上是一个答案,但没有证据,只是我的经验。
我绝不是 Android 方面的专家。但我对传感器总体了解一二。最主要的是它们总是处于活动状态(如果没有完全关闭的话),并且总是有一些噪音。所以
moving starts/之类的事件moving stops。因此,请考虑聚合策略和阈值,如果未通过阈值则不显示通知,并使代码更快(这样就不会消耗太多能量)。你已经完成了......或多或少......因为这些决定并不容易做出。许多大公司的应用程序未能在所有情况下都做到正确。只需安装几个计步器应用程序,您就会发现它们都会显示不同的步数。
| 归档时间: |
|
| 查看次数: |
764 次 |
| 最近记录: |