问题标签 [android-sensors]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 传感器 CPU 使用率
我正在尝试从三星 Galaxy Tab GT-P1000 读取多个传感器,相对于我使用的应用程序,它们似乎非常严重地占用 CPU。
作为测试,我创建了一个为加速度计传感器实现 SensorEventListener 的短程序,但对传感器读数没有任何作用:
这会导致我在调试时(即我的设备已插入我的 PC)时持续使用 10% 的 CPU 使用率,而在我没有调试时使用率是 5%。如果我使用 SENSOR_DELAY_FASTEST,在我调试时使用率会飙升至恒定 30%,而在我没有调试时使用率会飙升至 20%。
当我想使用多个传感器时,这会产生一个巨大的问题,因为它们都具有很高的 CPU 使用率,而且没有任何数据处理。我使用过 Android Market 中的 Compass 应用程序,它们在给定时间使用的 CPU 都没有超过 5%,所以我觉得我错过了一些明显的东西,但找不到其他人有同样的问题.
我没有编辑此应用程序的清单文件或布局——它是 Eclipse 制作的默认模板,我已经添加了传感器。
更新:我读取 CPU 使用率的方法有缺陷,因为我使用任务管理器来测量它。当任务管理器打开时,我的应用程序不会使用 onPause 停止传感器,而大多数其他应用程序会这样做。
android - Android decibel meter
I want to create an app that would be able to use the phone's microphone in order to get the outside noise volume in db. What is the easiest way to do it?
android - 用安卓手机在空中画画
我正在开发一个使用安卓手机在空中画画的应用程序。
当我的手机在移动时,多亏了加速度计,我检索了每个轴 ax、ay、az 上的加速度。我感兴趣的是:x,y,z。
从我在论坛和一些教程中阅读的内容来看,两次集成加速会产生巨大的错误。
那么对我来说,获取手机更换信息的最佳解决方案是什么?
谢谢你的帮助。
android - GYROSCOPE 更新到 2.3.5 后不工作
我的代码以前在 2.2 上工作,我能够得到陀螺仪数据,但是在更新到 2.3 之后,它不再工作了。我还尝试了银河播放器,以确保这不是我手机的硬件问题。它也不适用于那个。有什么建议么?这是代码:
我什至向谷歌报告了一个错误,这是他们的回应:
那些不是谷歌设备,所以你必须和三星谈谈
android - 如何让我的所有活动都听设备的震动?
如何让应用程序听设备的震动?我的意思不是应用程序中的唯一活动,而是所有活动。我使用 TabActivity 并在此处完成了注册/取消注册 SensorManager 的所有逻辑,并将其实现为 SensorEventListener 以检测抖动。然后选项卡中的活动侦听自定义 OnShakeListener,在我的 TabActivity 中声明。但这种逻辑导致崩溃。我选择这种实施方式是否正确并且应该寻找错误?或者我应该使用服务来获得我想要的东西吗?或者还有其他方法吗?
android - 如何使用 SensorListener 获取设备是否抖动?
可能重复:
Android:我想摇它!
如何使用加速度计测量Android应用程序开发的距离
如何实现SensorListener?
如果当时设备没有晃动,则会显示警报对话框,那么如何让设备晃动?
java - Android getRotationMatrix 为所有值提供 0
我正在尝试使用磁场和加速度计来计算方向。但是,计算出的 Az、Pitch 和 Roll 为 0。代码如下:
知道有什么问题吗?
android - 在单击按钮后获取 x 秒的传感器数据
如果这个问题看起来很愚蠢,我仍在学习 Android 开发,很抱歉,但我只是在有限的时间内尝试从手机获取加速度计数据。目标是在单击按钮后仅记录传感器的 x 坐标值约 3 秒。
所以 x_event 是一个数组,每个 SENSOR_DELAY_GAME 周期性地填充加速度计的 X 位置。
问题是,此代码在活动运行时记录所有值。
我想要的是仅在单击按钮时填充此数组,并且仅填充 x 秒(尚未确定 x 的值)。之后,数组将被传递给另一个函数进行分析。
我只是不明白如何及时限制监听器。
感谢您的帮助。
android - 一种等待传感器数据的方法
我有一个类在启动时启动传感器侦听器。当触发事件时,此侦听器将最新的传感器值写入变量。该类继续执行一些逻辑,并且在某些时候,将检查此变量并根据值继续。
我的问题是,不能保证读取变量时有任何值,因为 Android 传感器侦听器仅在传感器值更改时触发事件(并且不一定在它们启动后立即触发事件)。
因此,我需要我的应用程序等待事件触发,以便它有数据可以工作(最好是超时,以确保它不会无限期地等待)。
我的问题是,实现这种等待的最佳方式是什么?我是否应该有一个处理程序在继续之前每 X 毫秒检查一个值?我是否应该在侦听器和处理程序之间传递某种消息来告诉它何时写入数据,并且它现在可以恢复?还有其他更好的选择吗?
编辑:我应该指出,类逻辑在 UI 线程上执行。