Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. package com.example.azimuthtesttogether;
  2.  
  3. import android.content.Context;
  4. import android.hardware.Sensor;
  5. import android.hardware.SensorEvent;
  6. import android.hardware.SensorEventListener;
  7. import android.hardware.SensorManager;
  8. import android.widget.TextView;
  9.  
  10. public class MyCurrentAzimuth implements SensorEventListener {
  11.  
  12. private SensorManager sensorManager;
  13. private Sensor sensor;
  14. private int azimuthFrom = 0;
  15. private int azimuthTo = 0;
  16. private OnAzimuthChangedListener mAzimuthListener;
  17. Context mContext;
  18.  
  19. public MyCurrentAzimuth(OnAzimuthChangedListener azimuthListener, Context context) {
  20. mAzimuthListener = azimuthListener;
  21. mContext = context;
  22. }
  23.  
  24. public void start(){
  25. sensorManager = (SensorManager) mContext.getSystemService(mContext.SENSOR_SERVICE);
  26. sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
  27. sensorManager.registerListener(this, sensor,
  28. SensorManager.SENSOR_DELAY_UI);
  29. }
  30.  
  31. public void stop(){
  32. sensorManager.unregisterListener(this);
  33. }
  34.  
  35.  
  36. @Override
  37. public void onSensorChanged(SensorEvent event) {
  38. azimuthFrom = azimuthTo;
  39.  
  40. float[] orientation = new float[3];
  41. float[] rMat = new float[9];
  42. SensorManager.getRotationMatrixFromVector(rMat, event.values);
  43. azimuthTo = (int) ( Math.toDegrees( SensorManager.getOrientation( rMat, orientation )[0] ) + 360 ) % 360;
  44.  
  45. mAzimuthListener.onAzimuthChanged(azimuthFrom, azimuthTo);
  46. }
  47.  
  48. @Override
  49. public void onAccuracyChanged(Sensor sensor, int accuracy) {
  50.  
  51. }
  52.  
  53. public void getAzimuthTo(TextView textView) {
  54. textView.setText(Integer.toString(azimuthTo));
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement