关闭屏幕后无法从加速度传感器android获取值

Posted

技术标签:

【中文标题】关闭屏幕后无法从加速度传感器android获取值【英文标题】:Can't get values from acceleration sensor android after turn off the screen 【发布时间】:2012-01-11 12:01:17 【问题描述】:

android 版本 2.2+

即使在屏幕关闭后(我已经将我的程序作为一个活动),我仍然可以从加速度传感器获取值吗?当亮屏超时时,我会释放我用来唤醒手机的唤醒锁(打开屏幕)

注意:当我在调试模式下(连接到我的计算机)尝试我的程序时,它运行良好。

P/s:有一件有趣的事情,当我在我的 sony arc s(stock rom 2.3.4)上尝试我的程序时,它在大约 10 分钟后停止从 acc 传感器发送值,但是在我朋友的手机中,他使用煮熟的 rom Cyanogenmod 7,它在屏幕关闭后立即停止发送。这让我想知道android会有浅睡眠模式和深度睡眠模式。我假设在浅睡眠模式下,所有活动都可以正常运行,但在深度睡眠模式下,只有系统活动可以运行。我说的对吗?

谢谢!

【问题讨论】:

不知道能不能在android上模拟调试模式,这样可以解决问题。 【参考方案1】:

这是一个很好的关于这个问题的文章,它很常见。

http://mylifewithandroid.blogspot.com/2010/04/monitoring-sensors-in-background.html

以及官方错误报告:

http://code.google.com/p/android/issues/detail?id=3708

[更正:]

错误报告已关闭,所以我猜它适用于最新最好的 Android 版本。

【讨论】:

【参考方案2】:

不知道 android 上的睡眠模式。 但是试着看看Activity的生命周期

http://developer.android.com/reference/android/app/Activity.html

它可以为您提供有关您的应用处于哪个状态的线索,并采取必要措施防止数据丢失。 IMO,当屏幕关闭时,我认为用户的应用程序进入“onPause”状态

【讨论】:

以上是关于关闭屏幕后无法从加速度传感器android获取值的主要内容,如果未能解决你的问题,请参考以下文章

Android_(传感器)获取手机中的传感器

无法从命令行使用 telnet 获取 http 响应 [关闭]

Flutter 真正可以监听屏幕旋转的插件

使用 adb 从损坏的 android 设备中回收传感器

无法在一项活动中获取加速度计传感器和 GPS 位置数据,问题出在哪里?

从陀螺仪android传感器获取旋转度