16
Sensor SensorEvent SensorManager SensorEventListener Sensors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors overview.html 1 of 16 02-02-2016 12:53

Sensors Overview _ Android Developers

  • Upload
    dfdgdfg

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 1/16

Sensor

SensorEvent

SensorManager

SensorEventListener

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 2: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 2/16

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 3: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 3/16

TYPE_ACCELEROMETER

TYPE_AMBIENT_TEMPERATURE

TYPE_GRAVITY

TYPE_GYROSCOPE

TYPE_LIGHT

TYPE_LINEAR_ACCELERATION

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 4: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 4/16

TYPE_MAGNETIC_FIELD

TYPE_ORIENTATION

getRotationMatrix()

TYPE_PRESSURE

TYPE_PROXIMITY

TYPE_RELATIVE_HUMIDITY

TYPE_ROTATION_VECTOR

TYPE_TEMPERATURE

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 5: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 5/16

TYPE_AMBIENT_TEMPERATURE

android.hardware

SensorManager

Sensor

SensorEvent

SensorEventListener

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 6: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 6/16

TYPE_ACCELEROMETER

TYPE_AMBIENT_TEMPERATURE

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 7: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 7/16

TYPE_GRAVITY

TYPE_GYROSCOPE

TYPE_LIGHT

TYPE_LINEAR_ACCELERATION

TYPE_MAGNETIC_FIELD

TYPE_ORIENTATION

TYPE_PRESSURE

TYPE_PROXIMITY

TYPE_RELATIVE_HUMIDITY

TYPE_ROTATION_VECTOR

TYPE_TEMPERATURE

SensorManager

getSystemService()

SENSOR_SERVICE

private SensorManager mSensorManager;

...

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_S

getSensorList() TYPE_ALL

List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.T

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 8: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 8/16

TYPE_ALL TYPE_GYROSCOPE

TYPE_LINEAR_ACCELERATION TYPE_GRAVITY

getDefaultSensor()

private SensorManager mSensorManager;

...

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_S

if (mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD) !=

// Success! There's a magnetometer.

}

else {

// Failure! No magnetometer.

}

Sensor

getResolution()

getMaximumRange()

getPower()

getVendor() getVersion()

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 9: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 9/16

private SensorManager mSensorManager;

private Sensor mSensor;

...

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_S

if (mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY) != null){List<Sensor> gravSensors = mSensorManager.getSensorList(Sensor.T

for(int i=0; i<gravSensors.size(); i++) {

if ((gravSensors.get(i).getVendor().contains("Google Inc.")) &

(gravSensors.get(i).getVersion() == 3)){

// Use the version 3 gravity sensor.

  mSensor = gravSensors.get(i);

}

}

}

else{

// Use the accelerometer.if (mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) !

  mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELERO

}

else{

// Sorry, there are no accelerometers on your device.

// You can't play this game.

}

}

getMinDelay()

getMinDelay()

getMinDelay()

getMinDelay()

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

16 02-02-2016 12:53

Page 10: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 10/16

SensorEventListener

onAccuracyChanged() onSensorChanged()

onAccuracyChanged()

Sensor

SENSOR_STATUS_ACCURACY_LOW

SENSOR_STATUS_ACCURACY_MEDIUM SENSOR_STATUS_ACCURACY_HIGH

SENSOR_STATUS_UNRELIABLE

onSensorChanged()

SensorEvent SensorEvent

onSensorChanged()

TextView   sensor_data

public class SensorActivity extends Activity implements SensorEven

private SensorManager mSensorManager;

private Sensor mLight;

@Override

public final void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  mSensorManager = (SensorManager) getSystemService(Context.SENS

  mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

}

@Override

public final void onAccuracyChanged(Sensor sensor, int accuracy)

// Do something here if sensor accuracy changes.

}

@Overridepublic final void onSensorChanged(SensorEvent event) {

// The light sensor returns a single value.

// Many sensors return 3 values, one for each axis.

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 11: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 11/16

float lux = event.values[0];

// Do something with this sensor value.

}

@Override

protected void onResume() {

super.onResume();

  mSensorManager.registerListener(this, mLight, SensorManager.SE

}

@Override

protected void onPause() {

super.onPause();

  mSensorManager.unregisterListener(this);

}

}

SENSOR_DELAY_NORMAL

registerListener()

onSensorChanged()

SENSOR_DELAY_GAME SENSOR_DELAY_UI

SENSOR_DELAY_FASTEST

onResume()

onPause()

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 12: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 12/16

private SensorManager mSensorManager;

...

  mSensorManager = (SensorManager) getSystemService(Context.SENSOR

if (mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE) != nul

// Success! There's a pressure sensor.

}

else {// Failure! No pressure sensor.

}

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 13: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 13/16

<uses-

feature>

<uses-feature>

<uses-feature android:name="android.hardware.sensor.accelerometer"

android:required="true" />

android:required="true"

<uses-feature>

android:required="false"

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 14: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 14/16

getRotation()

remapCoordinateSystem()

getOrientation() getRotationMatrix()

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 15: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 15/16

onPause()

private SensorManager mSensorManager;

...

@Override

protected void onPause() {

super.onPause();

  mSensorManager.unregisterListener(this);

}

unregisterListener(SensorEventListener)

onSensorChanged(SensorEvent)

onSensorChanged(SensorEvent)

onSensorChanged(SensorEvent)

TYPE_ORIENTATION

getOrientation()

TYPE_TEMPERATURE

TYPE_AMBIENT_TEMPERATURE

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html

f 16 02-02-2016 12:53

Page 16: Sensors Overview _ Android Developers

7/24/2019 Sensors Overview _ Android Developers

http://slidepdf.com/reader/full/sensors-overview-android-developers 16/16

registerListener()

English

sors Overview | Android Developers http://developer.android.com/guide/topics/sensors/sensors_overview.html