- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我找到了一种使用 SensorManager 获取高度的替代方法,但它需要两个参数。
public static float getAltitude (float p0, float p)
Computes the Altitude in meters from the atmospheric pressure and the pressure at sea level.
p0 pressure at sea level
p atmospheric pressure
您能通过实际示例/代码 fragment 教我们如何使用它吗。
更新1我找到了网络服务提供商 (WSP) 网址来获取 海平面的 p0 压力
。我已成功获取值,但不理解返回值。
WSP 网址:http://avdata.geekpilot.net/
这是东京国际机场 (http://avdata.geekpilot.net/weather/HND) 的示例输出
<weather>
<ident>RJTT</ident>
<error/>
<metar>
2011/09/22 08:00
RJTT 220800Z 04019KT 9999 -SHRA FEW012 BKN025 BKN040 21/18 Q1000 NOSIG
</metar>
<taf>
2011/09/22 04:12
TAF
AMD TAF
AMD RJTT 220409Z 2204/2306 08016KT 9999 FEW030 SCT050
BECMG 2204/2206 05014KT
TEMPO 2207/2209 36018G30KT SHRA
BECMG 2303/2306 10008KT
</taf>
</weather>
最佳答案
尝试
List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);
if(sensors.size() > 0) {
sensor = sensors.get(0);
mSensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_NORMAL);
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
presure = event.values[0];
}
float altitude = getAltitude(SensorManager.PRESSURE_STANDARD_ATMOSPHERE, presure);
关于Android:如何使用 SensorManager.getAltitude(float p0, float p)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7411114/
要在 Android 中从欧拉角(例如俯仰、滚转、方位角)中获取方向,需要执行以下操作: SensorManager.getRotationMatrix(float[] R, float[] I, f
API 演示 -> 图形 -> Compass 它只能正常工作,直到您不更改设备的自然方向。在大多数手机中是纵向的,而大多数 10 英寸平板电脑是横向的。如果您进行更改,则需要将其旋转 90 度。我希
我的线程上有此命令,但它不起作用:sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 我想在不打开我的应用程序的情况下创
我希望实现一个 SensorManager 类,它可以处理所有与传感器相关的事情,但这显然需要我启动一个新 Activity 。 我不打算这样做 - 只是运行计算。是使用服务处理此问题的最佳方式,您可
我正在为平板电脑开发一个应用程序,平板电脑将放在一个围绕给定点旋转的支架上。这意味着当应用程序首次打开时,很少从平板电脑移动。该应用程序将根据平板电脑在支架上的旋转显示各种内容。无论我多么努力地搜索,
在我的应用中,我使用光线和接近传感器来检测手机自掏腰包功能,然后在检测完成后注销 SensorManager。但是,即使应用程序的 CPU 使用率仅显示 1-2 秒,电池使用率始终显示我的应用程序为否
我的应用程序创建了一个 Service,它覆盖了 onStartCommand 以创建一个 SensorManager 并将一个 SensorEventListener 附加到其中一个传感器: pub
我需要检索手机的方向。目前我写了这个: public void onSensorChanged(SensorEvent event) { switch (event.sensor.getType(
我正在为我的 Android 应用程序使用传感器。我用一行代码注册传感器: mySensorManager.registerListener(this, orientationSensor, Sens
我在以下的帮助下获得了我的手机方向 SensorManager.getOrientation 但是结果很不稳定,大概+-8度,有什么好的过滤结果的方法吗? 这是我获取值的方式: public void
我有一个为 Cordova 应用程序编写的 Android 后台服务,我想通过 sensorManager 与加速度计进行交互。 我觉得我已经很接近了,但我认为还不够。 出于某种原因,sensorMa
我在 logcat 中遇到传感器管理器和错误的问题。当我用这一行注册监听器时: sensorMgr.registerListener(this, sensorMgr.getDefaultSensor(
我在资源中找到了这个值。 /** Standard gravity (g) on Earth. This value is equivalent to 1G */ public static
我一直在研究如何在我的 Android 应用程序中读取步数,并在文档中找到了两种完全不同的方法: Using SensorManager : val sensorManager = getSystem
我使用单例模式实现了一个简单的指南针类。一旦我向传感器管理器注册了加速度计和磁力计监听器,内存消耗就会增加。我的 GPS 类与指南针类非常相似,并且我没有出现内存泄漏问题。我在 onSensorCha
@Override protected void onResume(){ //super.onResume(); sensorManager.registerListener
Scala/Android 新手问题。我正在尝试将这个简单的代码从 Java 重写为 Scala。Java 工作代码: private final SensorEventListener mAccLi
我的源代码是: import android.content.Context; import android.hardware.SensorManager; public class ShakeEve
我在三星 S6 上使用心率传感器。为了访问此传感器,从 SDK 版本 > 23 开始,用户必须授予 BODY_SENSORS 权限 https://stackoverflow.com/a/326360
我使用 StackOverflow 的一些建议编写了一个加速度计应用程序(用于学习目的)。一切正常,但我在代码中收到“SensorManager.DATA_X 已弃用”消息作为警告: // setup
我是一名优秀的程序员,十分优秀!