我正在制作我的第一个Android应用程序.作为学习系统的玩具问题,我想制作一个简单的应用程序,使用内置指南针显示手机指向哪个方向的文本.
如何从我的代码访问指南针,并让我的代码知道方向更改?
我相信我需要SensorManager class,但我很困惑如何使用它.我怎么说它我想要指南针传感器?如何告诉它对方向更改执行 *** 作(更新文本)?
解决方法:
// First, get an instance of the SensorManagerSensorManager sMan = (SensorManager) getSystemService(Context.SENSOR_SERVICE);// Second, get the sensor you're interested inSensor magnetFIEld = sMan.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);// Third, implement a SensorEventListener classSensorEventListener magnetListener = new SensorEventListener() { public voID onAccuracyChanged(Sensor sensor, int accuracy) { // do things if you're interested in accuracy changes } public voID onSensorChanged(SensorEvent event) { // implement what you want to do here }};// Finally, register your ListenersMan.registerListener(magnetListener, magnetFIEld, SensorManager.SENSOR_DELAY_norMAL);
但请注意,这实际上是一个磁传感器;因此,如果您周围有磁场干扰,则可能指向错误的方向.此外,您需要了解True north和Magnetic north之间的区别.由于此代码使用磁传感器,因此您获得磁北,但如果您需要计算True north,则需要使用GeomagneticFIEld.getDeclination()进行一些调整.
总结以上是内存溢出为你收集整理的第一个Android应用程序 – 如何访问指南针全部内容,希望文章能够帮你解决第一个Android应用程序 – 如何访问指南针所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)