无法访问 Android 中的传感器

2023-12-10

我正在编写一个指南针应用程序,但由于某种原因无法访问所需的传感器。 我已经实施了SensorEventListener以这种方式连接并注册我的传感器:

    sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
    accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    magnetometer = sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

In my onSensorChange() method:

public void onSensorChanged(SensorEvent event) {
    Toast t = Toast.makeText(this, "onSensorChanged", Toast.LENGTH_LONG);
    t.setGravity(Gravity.TOP, 0, 0);
    t.show();
    if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
        mGravity = event.values;
    }
    if(event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD){
        mGeomagnetic = event.values;
    }

    if(mGravity !=null && mGeomagnetic !=null){
        float [] R = new float[9];
        float [] I = new float [9];
        boolean success = sensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic);
        if(success){
            float [] orientation = new float [3];
              sensorManager.getOrientation(R, orientation);
            north = orientation[0];
        }
    }
}

The Toast消息不会显示在屏幕上,当我尝试将北值放入TextView输出是0。如果有人能向我解释为什么我无法访问该网站,那就太好了onSensorChanged()方法。清单中的权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
sensorManager.registerListener(this, magnetometer, SensorManager.SENSOR_DELAY_NORMAL);

不要忘记取消注册它们。

More: http://developer.android.com/reference/android/hardware/SensorManager.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法访问 Android 中的传感器 的相关文章

随机推荐

  • C# 访问修饰符部分,如 C++

    我需要写吗allC 中的访问修饰符 static class Node Node link Node link int data public void setlink Node next void display 我想使用访问修饰符部分
  • 如何在助手中访问小部件数据

    在我的前端助手中 我使用一个参数并将其提供给所有的 data widget 是否可以在帮助程序上下文中访问 data widget 我只找到了 self output 对象树 但我认为这不是一个高质量的解决方案 Thanks 编辑代码示例
  • 无法让 Twitter OAuth 回调身份验证在 Cocoa 应用程序中工作

    我正在使用 MGTwitterEngine 和 OAuthConsumer 框架 并且主要遵循以下说明使用OAuth消费者 为了使用 OAuth 并且不让用户处理基于 oob PIN 的身份验证 您需要启用对应用程序的回调 要在桌面 或 i
  • 如何识别窗口服务中的登录事件

    我有一个 Windows 服务 可以获取用户详细信息并将结果保存到日志文本文件中 而且 我的问题是当我注销系统并再次登录时 即无需重新启动机器 我还想将登录系统的时间节省到该日志文件中 如何在窗口服务中编写登录事件 请帮助评论 我使用了下面
  • 在 Tornado 中“超时”请求的正确方法

    我设法编写了一个相当愚蠢的错误 该错误将使我的一个请求处理程序运行非常慢的数据库查询 有趣的是 我注意到即使在围攻完成很久之后 Tornado 仍然在不断地处理请求 有时是 90 年代后 评论 gt 我不是 100 确定 Siege 的工作
  • 在另一个线程中创建 WPF 元素

    我可以在不同的线程上运行 2 个或更多 WPF 窗口 问题是现在我的应用程序分割在许多窗口中 我真正想要的是有一个主窗口包含一个网格 其中每个单元格都包含由不同线程管理的元素 是否可以创建一个由不是管理父窗口 包含窗口的线程管理的 UIEl
  • 按键升序对数组进行排序,并将“粘性”键指定为第一个

    我有一个多维数组 array array B gt array Banana Yello O gt array Orange Orange A gt array Apple Green S gt array Strawberry Red o
  • 在有内容的页面上触发文件下载

    我见过许多网站在包含现有 HTML 内容的页面上触发文件另存为对话框 他们如何做到这一点 我知道如何设置正确的标题 例如内容处置等 但是当我这样做时 页面的内容不会加载 并且立即触发文件下载 创建一个常规 HTML 页面 然后添加一个 ME
  • JavaScript:使值对数组形成值数组

    有没有一种优雅 实用的方法来转换这个数组 1 5 9 21 进入这个 1 5 5 9 9 21 我知道我可以forEach数组并收集值以创建一个新数组 有没有一种优雅的方式来做到这一点 lodash不使用forEach 您可以映射一个拼接数
  • 向JTable添加加载循环

    我有一个从数据库加载数据的 JTable 因为有时数据太多 我想在Jtable内添加一个加载圆圈来通知用户数据正在加载 这是我希望的图像 这可能吗 在 Swing 中如何实现呢 PS 我不想使用进度条 我只想使用表格内的圆圈 UPDATE
  • 为什么在 LIKE 过滤器中使用下划线字符会给出所有结果?

    我写了下面的 SQL 查询LIKE健康 状况 SELECT FROM Manager WHERE managerid LIKE AND managername LIKE In the LIKE我想搜索任何下划线 但我知道我的列数据没有下划线
  • 使行延伸到 CSS 网格中的所有列

    尽管我已经指定了我希望导航延伸到哪些列 但我一直无法让我的导航完全延伸到我的列上 如果您可以看一下我的代码并指出我的错误太棒了 这是浏览器中 HTML 文件的图像 body margin 0 padding 0 container max
  • 将 datetimepicker 连接到 angularjs

    我需要使用 Angular Bootstrap 创建一个包含日期和时间的输入字段 我找到了这个日期时间选择器它看起来正是我需要的 一个字段中的日期和时间 并阻止用户错误的版本 我写了一个指令 datepickers 启动了 但它改变了视图
  • 为什么分配给 True/False 不能按我的预期工作?

    作为回答另一个问题的一部分 我编写了以下代码 乍一看其行为似乎很奇怪 print True outputs true True False print True outputs false True True print True outp
  • 谷歌地图反应没有出现

    我正在尝试使用google map react 但是当我尝试渲染它时 什么也没有出现 我错过了什么吗 import GoogleMap from google map react import React Component from re
  • 如何在Google App Engine中导入Google Cloud语音识别(python)

    我想在我的 Google App Engine python 应用程序上使用 google cloud 库 自从我在本地安装了这个库以来 我的所有测试都在我的本地工作 我原以为 GAE 默认支持它 但它是不支持 这是我得到的错误 from
  • 如何使用 Selenium RC 来验证我们的服务器端重定向(301、302)?

    我们的 Apache 配置中有很多重定向 我想用 Selenium 自动测试重定向 这导致我遇到了一些问题 调用 URL 但在重定向页面上断言 重定向后检查浏览器的URL 检查响应标头 以确定重定向类型 301 302 也许 Seleniu
  • 如何从一个类运行多个控制台?

    我有三个课程 它们都有不同的作品 但我需要一起运行它们 当我在一个类中运行所有这些时 我只得到一个控制台 并且无法更改此控制台 我想要的是在一个类中运行它们并查看每个控制台 我怎样才能做到这一点 更清楚地说 when I run first
  • 类型擦除的通用包装器是如何实现的?

    我需要为我自己的结构实现一个类型擦除包装器 非常类似于SequenceOf GeneratorOf等等 所以我开始尝试重新实现标准SequenceOf myself 我刚刚复制并粘贴了声明SequenceOf 将其重命名为MySequenc
  • 无法访问 Android 中的传感器

    我正在编写一个指南针应用程序 但由于某种原因无法访问所需的传感器 我已经实施了SensorEventListener以这种方式连接并注册我的传感器 sensorManager SensorManager getSystemService C