Sensors Overview _ Android Developers
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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