问题标签 [sensormanager]

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 回答
7800 浏览

android - Android SensorManager 中的 getSensorList() 与 getDefaultSensor()

我正在为 Android 编写游戏,并希望能够使用加速度计进行输入。

我看到了两种获取传感器的方法,一种是使用的第一个元素,SensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER)另一种是SensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER).

getDefaultSensor文档说它可以返回一个“复合”传感器,所以如果我想要一个“原始”传感器,我应该使用getSensorList.

知道复合传感器或原始传感器之间的区别是什么吗?这甚至适用于加速度计吗?任何人都有使用包含多个或复合加速度计的设备的经验?(或者其他一些传感器?)

0 投票
1 回答
722 浏览

android - Android 2.3.6 更新后传感器管理器无法正常工作

几天前,我在 Android 上制作了我的第一个应用程序。基本概念是监控接近传感器,如果传感器上有障碍物,我将增加一个计数器。如果计数器超过阈值,我将触发一个动作。

我在服务中实现了传感器监控软件,每 10 分钟从 Activity 调用该服务,以便唤醒 cpu 并在服务停止时启动服务。

一切都很完美,在市场上获得了数千次下载并获得了良好的评价。这在 Android 2.3.3 之前都很好。最近我的手机升级到 Android 2.3.6,不幸的是该应用程序没有按预期运行。

屏幕关闭时不会触发传感器侦听器。有时它可以正常工作,但大多数时候它无法正常工作。在传感器上给出几个输入之后,如果我打开屏幕,过一会儿,传感器上的所有触发器都会自动被立即调用,计数器会增加并触发动作。

总而言之,当屏幕关闭时传感器侦听器不起作用(在 Android 2.3.6 中),这在 Android 2.3.3 之前工作正常。如果我连接调试器,手机不会进入睡眠状态并且一切正常,所以我无法找到问题。请帮我 。

这是我的代码。

每 10 分钟调用一次服务..

在服务..

0 投票
1 回答
298 浏览

android - 多个相同“类型”的内部传感器

Android 的 SensorManager 类将返回指定类型的传感器列表。我想知道一个设备是否有,例如,多个内部温度传感器(TYPE_AMBIENT_TEMPERATURE),我该如何区分它们?Sensor.getName() 和 Sensor.getVendor() 会是我必须使用的全部吗?

0 投票
0 回答
888 浏览

android - Android:正确解释传感器值

因此,我一直在研究SensorEvent文档,试图了解如何确定相对于手机给定轴的北方向。我画了一张小图来说明我对坐标系如何工作的概念:

我的坐标系概念

因此,如果世界坐标是xyz,其中磁北沿z并且y指向天空,而手机的坐标是PxPyPz,那么我希望能够计算投影每个向量到另一个向量。

看起来 SENSOR_TYPE_ROTATION_VECTOR 可能是正确的选择,但似乎这并没有给我足够的信息来获得所有这些预测。我是否应该标准化 ROTATION_VECTOR 并将其添加到我关心的轴上,然后拉出组件?

另一个大的单个传感器似乎是 SENSOR_TYPE_ORIENTATION,但我也不清楚如何处理这些值。如果我想知道真实世界坐标系在Py上的三个投影,我是否只需沿给定坐标旋转 [0, 1, 0] ,如下所示:

我刚刚从通用旋转公式中获得了这些公式(因为它正在旋转单位向量,所以您只需选择中心列)。我认为变量 Py 的组成部分将是xyzPy的投影,但我有倒退吗?相反,它是Py在三个现实世界轴上的投影吗?

最后,我注意到有一个 getRotationMatrixFromVector() 选项,它似乎为你计算了这些预测,但我再次不确定我是否有完全倒退的情况。如果我想知道x的三个投影。yzPy上,我得到旋转矩阵的第二列还是第二行?

(对于可能是一个非常简单的问题的非常冗长的版本,我认为对于未来困惑的人来说,对坐标系非常明确会更好,这是我的主要困惑点)。

0 投票
1 回答
3000 浏览

android - 使用传感器管理器获取手机的方向(滚动、俯仰、偏航)角度?

我正在尝试使用传感器管理器获取手机的方向(滚动、俯仰、偏航)角度,并根据 android 开发人员网站上的内容,该方法

getInclination(float[] I) 从倾角矩阵 I 计算地磁倾角(以弧度为单位) >由 getRotationMatrix(float[], float[], float[], float[]).` 和 getRotationMatrix(float[] R, float[] I、float[] 重力、float[] 地磁)

计算倾斜矩阵 I 和旋转矩阵 R,将向量 > 从设备坐标系变换到定义为 > 直接正交基的世界坐标系。` 并返回布尔值。

我的问题是,如何使用上述方法获得方向?

代码

0 投票
0 回答
945 浏览

android - (SensorManager)getSystemService(SENSOR_SERVICE) 在预发布的 Android 设备上崩溃

正如标题所说,

在预发布的 Android 平板电脑上崩溃。SENSOR_SERVICE 被定义为“传感器”,在其他方面看起来不错。预发布设备非常接近发布,fwtw。

我想知道 /system/etc/permissions 中是否有一些权限文件可能丢失,或者我是否需要在清单中指定一些使用权限值或???

我将在另一台(华硕)平板电脑上运行测试应用程序以帮助隔离问题。但欢迎任何有用的见解。

0 投票
2 回答
3769 浏览

android - 在 Android 上的文本字段中显示数据

如何在EditText文本框中显示加速度计获得的数据?它只使用TextView

0 投票
1 回答
1873 浏览

android - SensorManager 上的应用程序崩溃

我正在开发一个我想在其中使用加速度计的 android 应用程序。但是每当我调用该方法时:

我的应用程序崩溃。

我的代码是:

我在网上搜索过,但找不到任何解决方案。我在手机上而不是在模拟器上调试我的应用程序。请在这方面帮助我了解它为什么会崩溃以及如何修复它。

以下是日志猫错误:05-02 06:40:04.299: W/dalvikvm(9525): threadid=1: 线程退出未捕获异常 (group=0x40018578)

谢谢。

0 投票
1 回答
4409 浏览

android - LogCat 中的 Android SensorManager 错误

我的传感器管理器有问题,logcat 中有错误。当我用这一行注册监听器时:

我在 logcat 中收到这些行,但有三个错误。

它工作得很好,没有问题,但我怎样才能避免这些错误?

PS:我不使用已弃用的版本。

0 投票
3 回答
3251 浏览

android - 注销 SensorManager 不起作用

在我的应用程序中,我使用光和接近传感器来检测手机的口袋功能,然后在检测完成后取消注册 SensorManager。但即使应用程序的 CPU 使用量仅显示 1-2 秒的使用量,电池使用量始终显示我的应用程序为否。列表中的 1 个应用令人担忧。

我已经使用了 SensorManager.unRegisterListener 并且还设置了 SensorManager = null,但情况还是一样。

我读过,由于一些错误,传感器没有正确取消注册。有什么好方法可以正确处理传感器吗?

请指导。奥姆卡尔·盖萨斯

使用来自应用程序的代码示例进行了更新 -

我还根据 stackpverflow 上一篇文章中的一项建议设置 sensorManager = null,但即使这样也无济于事。尽管调用了清理代码,但电池使用率仍然很高。该应用程序本身不应该使用太多电池,因为它是一个非常简单的应用程序,只有一个广播接收器和一个活动,但在活动中,我调用了光和接近传感器,我怀疑这些会导致电池使用量激增。不知道为什么。

任何帮助都是非常可观的。