【发布时间】:2016-03-31 08:24:32
【问题描述】:
我正在做一个我必须找到方向的项目。我写了一个代码并做了测试。它在某些设备中运行良好,但在其他设备中它(指针)甚至没有移动。我对此进行了研究,并了解到磁传感器是 Compass 工作的唯一键。
public class Compass extends Activity implements SensorListener {
SensorManager sensorManager;
static final int sensor = SensorManager.SENSOR_ORIENTATION;
ViewCOm viewcom;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set full screen view
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
viewcom = new ViewCOm(this);
setContentView(viewcom);
// get sensor manager
sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
}
// register to listen to sensors
@Override
public void onResume() {
super.onResume();
sensorManager.registerListener(this, sensor);
}
@Override
public void onPause() {
super.onPause();
sensorManager.unregisterListener(this);
}
// Ignore for now
public void onAccuracyChanged(int sensor, int accuracy) {
}
// Listen to sensor and provide output
public void onSensorChanged(int sensor, float[] values) {
if (sensor != Compass.sensor)
return;
int orientation = (int) values[0];
viewcom.setDirection(orientation);
}
}
我的问题是,有没有像 GPS 或 MAP 这样的其他方式来创建指南针??
提前致谢。
【问题讨论】:
-
两个反对票......但是“没有评论”...... :) 太棒了...... :)
标签: android compass-geolocation