问题标签 [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.

0 投票
2 回答
1227 浏览

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!

0 投票
1 回答
3739 浏览

android - Android:振幅值到分贝值?

我正在尝试从 Android 手机上的麦克风记录噪音的分贝。我可以获得幅度值并寻找将其转换为分贝的公式。

我使用 MediaRecorder 的以下功能来获取幅度。

mediaRecorder.getMaxAmplitude() ;

另一个问题中,我找到了以下公式。

power_db = 20 * log10(amp / amp_ref);

amp是幅度,但不确定是什么amp_ref

有谁知道正确的公式吗?

0 投票
2 回答
2168 浏览

android-sensors - 哪款 Android 设备具有所有可能的方向传感器

寻找能够提供最大可能组合的设备:

加速度计

陀螺仪

旋转矩阵

直线加速度

磁场

旋转矢量

或提供有关 3D 方向的任何数据的任何其他传感器。

或者:是否有嵌入 InvenSense MotionFusion 芯片的设备?

我正在寻找一种已经在市场上出售的设备,但是任何有关任何即将推出的设备的确认信息也将有所帮助。

谢谢。

0 投票
0 回答
597 浏览

android - 仅在有运动时触发 onSensorChanged

我有一个后台服务,它需要很多电力,但只有在设备正在移动时才需要。我注册了一个传感器

sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);

如果没有检测到运动,想要让线程休眠,但是

onSensorChanged

由于万有引力而永久升起的事件。我能够计算,如果有一个真正的运动,但我希望服务使用尽可能少的功率并且不想永久计算运动,是否有可能注册一个只引发 onSensorChanged 事件的监听器,如果有一个真实的运动?

0 投票
0 回答
220 浏览

java - 无法在android上将设备坐标系转换为世界坐标系

我编写了一个小代码,通过将作为加速度计值的旋转矩阵(使用 getRotationMatrix)和向量(Ax,Ay,Az)相乘,将设备坐标转换为世界坐标。当我运行它并且手机是静态的时,我得到一个非常波动的 Z 轴值(从 9.3 到 10.3),另外两个为 0。但是当我在任何方向上给手机一些加速度时,它仍然没有t 显示对这些值的任何更改,并且它们保持为零。这是我获取值的代码部分。

另外我想知道是自己根据方向传感器获取旋转矩阵还是使用内置的getRotationMatrix更好?

0 投票
1 回答
303 浏览

android - 阅读硬件指南针的正确方法是什么?

Android API Demos 中有一个指南针活动,但它仅在我的 Google Nexus One 上以纵向模式显示正确的北方向。

我在这里的某个地方找到了以下代码:

但它没有任何意义。我不明白如何让 API 演示在横向模式下正确工作,或者上面的代码有什么问题。

0 投票
0 回答
503 浏览

android - 检测手机是否在Android中旋转了360度

我需要找到一种方法来检测手机是否旋转了 360 度,方法是使用(最好)加速度计、陀螺仪和/或指南针。但还有一个问题:当手机处于纵向模式时,我需要检测沿 Y 轴的旋转,而在横向模式下,我需要检测沿 X 轴的旋转。但是如果手机处于这两种模式之间呢?

这有可能实现吗?如果可以,实现这一目标的最佳方法是什么?

0 投票
1 回答
29370 浏览

android - 如何在android上制作准确的指南针

我的 android 应用程序显示了世界上某个特定地点的方向,因此需要获取指南针度数。
这是我用来计算度数的代码:

这种方法通常有效,但有时它只是得到错误的北方,我该怎么做才能获得更准确的位置?

0 投票
0 回答
949 浏览

android - 在横向模式下使用加速度计

所以我对 Android 编程很陌生,我目前的项目涉及通过倾斜左右移动图片。它工作正常,但我不知道如何使加速度计在横向模式(强制横向)中有用。如果我把手机直立(它保持在横向),我会得到很好的结果,但显然这并不能真正满足我的需求。我可以使用这个快速修复吗?

0 投票
1 回答
3029 浏览

android - Android:如何控制 onSensorChange 采样率

我对 Android 中的传感器读取率有点困惑。下面的代码报告了约 53 毫秒的延迟(ZTE Blade,速率传感器事件设置为 SENSOR_DELAY_FASTEST)。

日志:

如果我们要平均说 100 个样本,然后保存数据,则每 100 个样本之间的时间将有很大差异。这大概是因为传感器值在常规时间段内没有变化。

但我错过了什么吗?有没有办法获得(更多)定期测量(例如 100 毫秒)?或者也许我应该在特定时间段内进行平均而不是样本数?

50ms 似乎也有点长。这可能是设备的硬件限制吗?这个数字会在不同的平台上有所不同吗?

任何建议表示赞赏。