Example usage for android.hardware Sensor TYPE_MAGNETIC_FIELD

List of usage examples for android.hardware Sensor TYPE_MAGNETIC_FIELD

Introduction

In this page you can find the example usage for android.hardware Sensor TYPE_MAGNETIC_FIELD.

Prototype

int TYPE_MAGNETIC_FIELD

To view the source code for android.hardware Sensor TYPE_MAGNETIC_FIELD.

Click Source Link

Document

A constant describing a magnetic field sensor type.

Usage

From source file:Main.java

public static String getSenserNameByType(final int type) {
    switch (type) {
    case Sensor.TYPE_LINEAR_ACCELERATION:
        return "Linear Acceleration Senser";
    case Sensor.TYPE_GYROSCOPE:
        return "Gyroscope Senser";
    case Sensor.TYPE_ACCELEROMETER:
        return "Accelerometer Senser";
    case Sensor.TYPE_MAGNETIC_FIELD:
        return "Magnetic Field Senser";
    default:// w  ww . ja  va2s .co m
        return "Unknown Senser";
    }
}

From source file:Main.java

@SuppressWarnings("deprecation")
public static String getSensorTypeStr(int type) {
    switch (type) {
    case Sensor.TYPE_ALL://-1
        return "TYPE_ALL";
    //Accelerometer sensor type
    case Sensor.TYPE_ACCELEROMETER://1
        return "TYPE_ACCELEROMETER";
    //Magnetic field sensor type
    case Sensor.TYPE_MAGNETIC_FIELD://2
        return "TYPE_MAGNETIC_FIELD";
    //Orientation sensor type
    case Sensor.TYPE_ORIENTATION://3
        return "TYPE_ORIENTATION";
    //Gyroscope sensor type
    case Sensor.TYPE_GYROSCOPE://4
        return "TYPE_GYROSCOPE";
    //Light sensor type
    case Sensor.TYPE_LIGHT://5
        return "TYPE_LIGHT";
    //Pressure sensor type
    case Sensor.TYPE_PRESSURE://6
        return "TYPE_PRESSURE";
    //Temperature sensor type
    case Sensor.TYPE_TEMPERATURE://7
        return "TYPE_TEMPERATURE";
    //Proximity sensor type
    case Sensor.TYPE_PROXIMITY://8
        return "TYPE_PROXIMITY";
    //Gravity sensor type
    case Sensor.TYPE_GRAVITY://9
        return "TYPE_GRAVITY";
    //Linear acceleration sensor type
    case Sensor.TYPE_LINEAR_ACCELERATION://10
        return "TYPE_LINEAR_ACCELERATION";
    //Rotation vector sensor type
    case Sensor.TYPE_ROTATION_VECTOR://11
        return "TYPE_ROTATION_VECTOR";
    //Relative humidity sensor type
    case Sensor.TYPE_RELATIVE_HUMIDITY://12
        return "TYPE_RELATIVE_HUMIDITY";
    //Ambient temperature sensor type
    case Sensor.TYPE_AMBIENT_TEMPERATURE://13
        return "TYPE_AMBIENT_TEMPERATURE";
    //Uncalibrated magnetic field sensor type
    case Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED://14
        return "TYPE_MAGNETIC_FIELD_UNCALIBRATED";
    //Uncalibrated rotation vector sensor type
    case Sensor.TYPE_GAME_ROTATION_VECTOR://15
        return "TYPE_GAME_ROTATION_VECTOR";
    //Uncalibreted gyroscope sensor type
    case Sensor.TYPE_GYROSCOPE_UNCALIBRATED://16
        return "TYPE_GYROSCOPE_UNCALIBRATED";
    //Significant motion trigger sensor
    case Sensor.TYPE_SIGNIFICANT_MOTION://17
        return "TYPE_SIGNIFICANT_MOTION";
    //Step detector sensor
    case Sensor.TYPE_STEP_DETECTOR://18
        return "TYPE_STEP_DETECTOR";
    //Step counter sensor
    case Sensor.TYPE_STEP_COUNTER://19
        return "TYPE_STEP_COUNTER";
    //Geo-magnetic rotation vector
    case Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR://20
        return "TYPE_GEOMAGNETIC_ROTATION_VECTOR";
    //Heart rate monitor
    case Sensor.TYPE_HEART_RATE://21
        return "TYPE_HEART_RATE";
    default://from w  w w.j  a  va2 s  . c o  m
        return UNKNOWN;
    }
}

From source file:MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mImageViewCompass = (ImageView) findViewById(R.id.imageViewCompass);
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    mMagnetometer = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
    mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
}

From source file:MainActivity.java

private void calculateCompassDirection(SensorEvent event) {
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ACCELEROMETER:
        mAccelerationValues = event.values.clone();
        break;/*from ww w  .  j  a  v a2  s .c  o m*/
    case Sensor.TYPE_MAGNETIC_FIELD:
        mGravityValues = event.values.clone();
        break;
    }
    boolean success = SensorManager.getRotationMatrix(mRotationMatrix, null, mAccelerationValues,
            mGravityValues);
    if (success) {
        float[] orientationValues = new float[3];
        SensorManager.getOrientation(mRotationMatrix, orientationValues);
        float azimuth = (float) Math.toDegrees(-orientationValues[0]);
        RotateAnimation rotateAnimation = new RotateAnimation(mLastDirectionInDegrees, azimuth,
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        rotateAnimation.setDuration(50);
        rotateAnimation.setFillAfter(true);
        mImageViewCompass.startAnimation(rotateAnimation);
        mLastDirectionInDegrees = azimuth;
    }
}

From source file:ch.jeda.platform.android.SensorManager.java

@Override
public void onAttach(final Activity activity) {
    super.onAttach(activity);
    this.sensorMap.clear();
    this.sensorInfoMap.clear();
    this.sensorListenerMap.clear();
    this.imp = (android.hardware.SensorManager) activity.getSystemService(Activity.SENSOR_SERVICE);
    this.checkAdd(SensorType.ACCELERATION, 1f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_ACCELEROMETER));
    this.checkAdd(SensorType.GRAVITY, 1f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_GRAVITY));
    this.checkAdd(SensorType.LIGHT, 1f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_LIGHT));
    this.checkAdd(SensorType.LINEAR_ACCELERATION, 1f, 0f,
            this.imp.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION));
    // Android returns values in micro Tesla
    this.checkAdd(SensorType.MAGNETIC_FIELD, 1e-6f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD));
    // Android returns value in hekto Pascal
    this.checkAdd(SensorType.PRESSURE, 100f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_PRESSURE));
    // Android returns value in centimeter
    this.checkAdd(SensorType.PROXIMITY, 0.01f, 0f, this.imp.getDefaultSensor(Sensor.TYPE_PROXIMITY));
    // Android returns value in degrees Celcius
    this.checkAdd(SensorType.TEMPERATURE, 1f, -273.15f, this.imp.getDefaultSensor(Sensor.TYPE_TEMPERATURE));
}

From source file:rus.cpuinfo.AndroidDepedentModel.SensorsInfo.java

@Override
@SuppressLint("NewApi")
@NonNull/*from  ww  w .  j a v a2  s .  c o  m*/
public String getInfo(int query) {

    int type;

    switch (query) {
    case SENSOR_ACCELEROMETR:
        type = Sensor.TYPE_ACCELEROMETER;
        break;
    case SENSOR_AMBIENT_TEMPERATURE:
        type = Sensor.TYPE_AMBIENT_TEMPERATURE;
        break;
    case SENSOR_LINEAR_ACCELERATION:
        type = Sensor.TYPE_LINEAR_ACCELERATION;
        break;
    case SENSOR_LIGHT:
        type = Sensor.TYPE_LIGHT;
        break;
    case SENSOR_MAGNETIC_FIELD:
        type = Sensor.TYPE_MAGNETIC_FIELD;
        break;
    case SENSOR_ROTATION_VECTOR:
        type = Sensor.TYPE_ROTATION_VECTOR;
        break;
    case SENSOR_TYPE_GRAVITY:
        type = Sensor.TYPE_GRAVITY;
        break;
    case SENSOR_TYPE_GYROSCOPE:
        type = Sensor.TYPE_GYROSCOPE;
        break;
    case SENSOR_PROXIMITY:
        type = Sensor.TYPE_PROXIMITY;
        break;
    case SENSOR_PRESSURE:
        type = Sensor.TYPE_PRESSURE;
        break;
    case SENSOR_RELATIVE_HUMIDITY:
        type = Sensor.TYPE_RELATIVE_HUMIDITY;
        break;
    case SENSOR_TEMPERATURE:
        type = Sensor.TYPE_AMBIENT_TEMPERATURE;
        break;
    case SENSOR_HUMIDITY:
        type = Sensor.TYPE_RELATIVE_HUMIDITY;
        break;
    case SENSOR_ORIENTATION:
        type = Sensor.TYPE_ORIENTATION;
        break;
    case SENSOR_HEART_RATE:
        type = Sensor.TYPE_HEART_RATE;
        break;
    case SENSOR_SIGNIFICANT_MOTION:
        type = Sensor.TYPE_SIGNIFICANT_MOTION;
        break;
    case SENSOR_GEOMAGNETIC_ROTATION_VECTOR:
        type = Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR;
        break;
    case SENSOR_STEP_COUNTER:
        type = Sensor.TYPE_STEP_COUNTER;
        break;
    case SENSOR_STEP_DETECTOR:
        type = Sensor.TYPE_STEP_DETECTOR;
        break;
    case SENSOR_GAME_ROTATION_VECTOR:
        type = Sensor.TYPE_GAME_ROTATION_VECTOR;
        break;
    default:
        throw new IllegalArgumentException("Query must be with \"SENSOR.\" prefix");
    }
    return getSensorName(type);
}

From source file:com.commonsware.android.sensor.monitor.MainActivity.java

@TargetApi(Build.VERSION_CODES.KITKAT)
private boolean isXYZ(Sensor s) {
    switch (s.getType()) {
    case Sensor.TYPE_ACCELEROMETER:
    case Sensor.TYPE_GRAVITY:
    case Sensor.TYPE_GYROSCOPE:
    case Sensor.TYPE_LINEAR_ACCELERATION:
    case Sensor.TYPE_MAGNETIC_FIELD:
    case Sensor.TYPE_ROTATION_VECTOR:
        return (true);
    }// w  ww .  j  a  va  2  s.c  o m

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        if (s.getType() == Sensor.TYPE_GAME_ROTATION_VECTOR || s.getType() == Sensor.TYPE_GYROSCOPE_UNCALIBRATED
                || s.getType() == Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED) {
            return (true);
        }
    }

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        if (s.getType() == Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR) {
            return (true);
        }
    }

    return (false);
}

From source file:com.javierarias.magnadroid.Magnadroid.java

@SuppressLint("MissingSuperCall")
@Override/*ww w  . j a  v a2 s  .c  om*/
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Fabric.with(this, new Crashlytics());
    // Debug.startMethodTracing();
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
    if (mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) != null) {
        // Success! There's a magnetometer.
        mMagnetic = mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);
        magneticMaxRange = mMagnetic.getMaximumRange();
    }
    setContentView(R.layout.activity_magnadroid);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    magneTabs fragment = new magneTabs();
    transaction.replace(R.id.frame_content, fragment);
    transaction.commit();
}

From source file:io.github.data4all.service.OrientationListener.java

@Override
public void onCreate() {
    sManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    accelerometer = sManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    magnetometer = sManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

    sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
            SensorManager.SENSOR_DELAY_NORMAL);
    sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
            SensorManager.SENSOR_DELAY_NORMAL);
}

From source file:com.kircherelectronics.gyroscopeexplorer.activity.filter.Orientation.java

@Override
public void onSensorChanged(SensorEvent event) {

    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        // Get a local copy of the raw magnetic values from the device
        // sensor.

        event.values[2] = event.values[2] + 90;
        System.arraycopy(event.values, 0, this.vAcceleration, 0, this.vGyroscope.length);

        if (meanFilterSmoothingEnabled) {

            this.vAcceleration = meanFilterAcceleration.addSamples(this.vAcceleration);
        }/* w w w  .ja  va 2  s .  c  om*/

        // We fuse the orientation of the magnetic and acceleration sensor
        // based on acceleration sensor updates. It could be done when the
        // magnetic sensor updates or when they both have updated if you
        // want to spend the resources to make the checks.
        calculateOrientationAccelMag();
    }

    if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
        // Get a local copy of the raw magnetic values from the device
        // sensor.
        System.arraycopy(event.values, 0, this.vMagnetic, 0, this.vGyroscope.length);

        if (meanFilterSmoothingEnabled) {
            this.vMagnetic = meanFilterMagnetic.addSamples(this.vMagnetic);
        }
    }

    if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
        System.arraycopy(event.values, 0, this.vGyroscope, 0, this.vGyroscope.length);

        if (meanFilterSmoothingEnabled) {
            this.vGyroscope = meanFilterGyroscope.addSamples(this.vGyroscope);
        }

        timeStampGyroscope = event.timestamp;

        onGyroscopeChanged();
    }

    if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE_UNCALIBRATED) {
        System.arraycopy(event.values, 0, this.vGyroscope, 0, this.vGyroscope.length);

        if (meanFilterSmoothingEnabled) {
            this.vGyroscope = meanFilterGyroscope.addSamples(this.vGyroscope);
        }

        timeStampGyroscope = event.timestamp;

        onGyroscopeChanged();
    }

}