Android proximity sensor

Viewed 20

A few years (and several API's) ago I made an app that turned off the screen when the lid/cover was closed (but the app didn't go to sleep). I'm trying to do it again but I can't remember if I used the proximity sensor or Wake lock. I've been trying with the below code. If I put my finger on the sensor it fires a 'onSensorChanged' event but not if I just close the lid/cover over the sensor. Any bright ideas anyone?

public class MainActivity extends AppCompatActivity implements SensorEventListener {
    private  SensorManager mSensorManager;
    private  Sensor mProximity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
        mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
    }
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
    public void onSensorChanged(SensorEvent event) {
        Toast.makeText(this,"Sensor change detected", Toast.LENGTH_SHORT).show();
    }
    protected void onResume() {
        super.onResume();
        mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL);
    }
    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }
}   
0 Answers
Related