Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.torton.mysensorlistener;
- import android.app.Activity;
- import android.content.Context;
- import android.hardware.Sensor;
- import android.hardware.SensorEvent;
- import android.hardware.SensorEventListener;
- import android.hardware.SensorManager;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.util.List;
- public class SensorActivity extends Activity implements SensorEventListener {
- private SensorManager sensorManager;
- private Sensor accelerometer;
- @Override
- protected void onPause() {
- super.onPause();
- // unregister sensor listenerth
- if( accelerometer != null && sensorManager != null ) {
- sensorManager.unregisterListener(this, accelerometer);
- }
- }
- @Override
- protected void onResume() {
- super.onResume();
- // register sensor listener
- if( accelerometer != null && sensorManager != null ){
- sensorManager.registerListener(this, accelerometer, SensorManager.SENSOR_DELAY_UI);
- }
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_sensor);
- Button startSensorsButton = findViewById(R.id.startSensorsButton);
- startSensorsButton.setOnClickListener( view-> {
- startSensors();
- });
- }
- private void startSensors() {
- // Rekisteröidytään kuuntelemaan sensoreita
- sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
- // Listataan alla olevat sensorit
- List<Sensor> sensorsOnDevice = sensorManager.getSensorList(Sensor.TYPE_ALL);
- for( Sensor s : sensorsOnDevice ){
- Toast.makeText(this, "Name: " + s.getName() + " Vendor: " + s.getVendor(),
- Toast.LENGTH_SHORT).show();
- }
- accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
- if( accelerometer != null ){
- // rekisteröidytään kuuntelijaksi
- sensorManager.registerListener( this, accelerometer, SensorManager.SENSOR_DELAY_UI );
- }
- }
- @Override
- public void onSensorChanged(SensorEvent sensorEvent) {
- // Käsitellään sensoritapahtuma
- float xSensor = sensorEvent.values[0];
- float ySensor = sensorEvent.values[1];
- float zSensor = sensorEvent.values[2];
- // Päivitetään UI
- TextView sensorTextView = findViewById(R.id.sensorTextView);
- sensorTextView.setText( "X: " + xSensor + " Y: " + ySensor + " Z: " + zSensor );
- }
- @Override
- public void onAccuracyChanged(Sensor sensor, int i) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement