问题标签 [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 - 为什么我不能使用 Sensor.TYPE_ORIENTATION_VECTOR。无法识别类型
问题是,这个传感器应该可用:
- int TYPE_ACCELEROMETER
- int TYPE_ALL
- int TYPE_GRAVITY
- int TYPE_GYROSCOPE
- int TYPE_LIGHT
- int *TYPE_LINEAR_ACCELERATION*
- int TYPE_MAGNETIC_FIELD
- int TYPE_ORIENTATION
- int TYPE_PRESSURE
- int TYPE_PROXIMITY
- int TYPE_ROTATION_VECTOR
- int TYPE_TEMPERATURE
为什么这三个被禁用?它们无法识别...“TYPE_ROTATION_VECTOR 无法解析或不是字段”
只有这些被认可:
- int TYPE_ACCELEROMETER
- int TYPE_ALL
- int TYPE_GYROSCOPE
- int TYPE_LIGHT
- int TYPE_MAGNETIC_FIELD
- int TYPE_ORIENTATION
- int TYPE_PRESSURE
- int TYPE_PROXIMITY
- int TYPE_TEMPERATURE
代码是:
项目构建目标是 2.2,API 8。为什么我不能使用 TYPE_ROTATION_VECTOR 和其他类型?
Tnx for andswer!
android - Android:振幅值到分贝值?
我正在尝试从 Android 手机上的麦克风记录噪音的分贝。我可以获得幅度值并寻找将其转换为分贝的公式。
我使用 MediaRecorder 的以下功能来获取幅度。
mediaRecorder.getMaxAmplitude() ;
在另一个问题中,我找到了以下公式。
power_db = 20 * log10(amp / amp_ref);
amp
是幅度,但不确定是什么amp_ref
。
有谁知道正确的公式吗?
android-sensors - 哪款 Android 设备具有所有可能的方向传感器
寻找能够提供最大可能组合的设备:
加速度计
陀螺仪
旋转矩阵
直线加速度
磁场
旋转矢量
或提供有关 3D 方向的任何数据的任何其他传感器。
或者:是否有嵌入 InvenSense MotionFusion 芯片的设备?
我正在寻找一种已经在市场上出售的设备,但是任何有关任何即将推出的设备的确认信息也将有所帮助。
谢谢。
android - 仅在有运动时触发 onSensorChanged
我有一个后台服务,它需要很多电力,但只有在设备正在移动时才需要。我注册了一个传感器
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
如果没有检测到运动,想要让线程休眠,但是
onSensorChanged
由于万有引力而永久升起的事件。我能够计算,如果有一个真正的运动,但我希望服务使用尽可能少的功率并且不想永久计算运动,是否有可能注册一个只引发 onSensorChanged 事件的监听器,如果有一个真实的运动?
java - 无法在android上将设备坐标系转换为世界坐标系
我编写了一个小代码,通过将作为加速度计值的旋转矩阵(使用 getRotationMatrix)和向量(Ax,Ay,Az)相乘,将设备坐标转换为世界坐标。当我运行它并且手机是静态的时,我得到一个非常波动的 Z 轴值(从 9.3 到 10.3),另外两个为 0。但是当我在任何方向上给手机一些加速度时,它仍然没有t 显示对这些值的任何更改,并且它们保持为零。这是我获取值的代码部分。
另外我想知道是自己根据方向传感器获取旋转矩阵还是使用内置的getRotationMatrix更好?
android - 阅读硬件指南针的正确方法是什么?
Android API Demos 中有一个指南针活动,但它仅在我的 Google Nexus One 上以纵向模式显示正确的北方向。
我在这里的某个地方找到了以下代码:
但它没有任何意义。我不明白如何让 API 演示在横向模式下正确工作,或者上面的代码有什么问题。
android - 检测手机是否在Android中旋转了360度
我需要找到一种方法来检测手机是否旋转了 360 度,方法是使用(最好)加速度计、陀螺仪和/或指南针。但还有一个问题:当手机处于纵向模式时,我需要检测沿 Y 轴的旋转,而在横向模式下,我需要检测沿 X 轴的旋转。但是如果手机处于这两种模式之间呢?
这有可能实现吗?如果可以,实现这一目标的最佳方法是什么?
android - 如何在android上制作准确的指南针
我的 android 应用程序显示了世界上某个特定地点的方向,因此需要获取指南针度数。
这是我用来计算度数的代码:
这种方法通常有效,但有时它只是得到错误的北方,我该怎么做才能获得更准确的位置?
android - 在横向模式下使用加速度计
所以我对 Android 编程很陌生,我目前的项目涉及通过倾斜左右移动图片。它工作正常,但我不知道如何使加速度计在横向模式(强制横向)中有用。如果我把手机直立(它保持在横向),我会得到很好的结果,但显然这并不能真正满足我的需求。我可以使用这个快速修复吗?
android - Android:如何控制 onSensorChange 采样率
我对 Android 中的传感器读取率有点困惑。下面的代码报告了约 53 毫秒的延迟(ZTE Blade,速率传感器事件设置为 SENSOR_DELAY_FASTEST)。
日志:
如果我们要平均说 100 个样本,然后保存数据,则每 100 个样本之间的时间将有很大差异。这大概是因为传感器值在常规时间段内没有变化。
但我错过了什么吗?有没有办法获得(更多)定期测量(例如 100 毫秒)?或者也许我应该在特定时间段内进行平均而不是样本数?
50ms 似乎也有点长。这可能是设备的硬件限制吗?这个数字会在不同的平台上有所不同吗?
任何建议表示赞赏。