gpt4 book ai didi

android - android 手机中的磁力计传感器获取方向

转载 作者:行者123 更新时间:2023-11-29 18:03:47 28 4
gpt4 key购买 nike

这里的代码旨在让我的 Android 手机在某些条件为真时振动。它应该振动直到方位角(我从磁力计得到)不在给定范围内。

但无论我将手机指向哪个方向,它都不会振动。它进入 if 语句但从不进入 while 语句。振动功能正常工作(即手机没有坏)。我的目的是找到北东南西。

我做错了什么?

public void onCreate(Bundle savedInstanceState) {
// some code
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if (mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) != null){
// Success! There's a magnetometer.
Toast.makeText(
getApplicationContext(),
"Detecting magnetic field",
Toast.LENGTH_LONG).show();
speakOut("not Working");
}
else {
Toast.makeText(
getApplicationContext(),
"not working",
Toast.LENGTH_LONG).show();
speakOut("not Working");
}
// some code that calls the function
}

some_function(){
if (//some condition) {
while (!(85 < azimuth_angle) && !(azimuth_angle < 95)) {
viberator.vibrate(1000);
//this should happen when it faces east.
}
}
}

public void onSensorChanged(SensorEvent event) {
// TODO: Auto-generated method stub
azimuth_angle = event.values[0];
pitch_angle = event.values[1];
roll_angle = event.values[2];
}

最佳答案

registerListener 方法丢失,因此您的 SensorEventListener 不会被触发:http://developer.android.com/reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener , android.hardware.Sensor, 整数)

关于android - android 手机中的磁力计传感器获取方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14435155/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com