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.widget.TextView;
import
android.widget.Toast;
import
androidx.appcompat.app.AppCompatActivity;
public
class
MainActivity
extends
AppCompatActivity {
TextView sensorStatusTV;
SensorManager sensorManager;
Sensor proximitySensor;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorStatusTV = findViewById(R.id.sensorStatusTV);
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
proximitySensor = sensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
if
(proximitySensor ==
null
) {
Toast.makeText(
this
,
"No proximity sensor found in device."
, Toast.LENGTH_SHORT).show();
finish();
}
else
{
sensorManager.registerListener(proximitySensorEventListener,
proximitySensor,
SensorManager.SENSOR_DELAY_NORMAL);
}
}
SensorEventListener proximitySensorEventListener =
new
SensorEventListener() {
@Override
public
void
onAccuracyChanged(Sensor sensor,
int
accuracy) {
}
@Override
public
void
onSensorChanged(SensorEvent event) {
if
(event.sensor.getType() == Sensor.TYPE_PROXIMITY) {
if
(event.values[
0
] ==
0
) {
sensorStatusTV.setText(
"Near"
);
}
else
{
sensorStatusTV.setText(
"Away"
);
}
}
}
};
}