package cz.vs.teplota;
//https://www.youtube.com/watch?v=JKuTnuUsKOI&ab_channel=SarthiTechnology
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.BatteryManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements SensorEventListener {
private TextView textView;
private SensorManager sensorManager;
private Sensor tepmSensor;
private boolean tenperature;
private float tem,celsiusTemperature;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textViwer);
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
//Context context = null;
Intent batteryStatus = this.registerReceiver(null, ifilter);
int tem = batteryStatus.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
if (tem != -1) {
float celsiusTemperature = (float) (tem / 10.0);
}
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if (sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE) != null) {
tepmSensor = sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
tenperature = true;
} else {
textView.setText("Temperature Sensor is not Avaliable");
tenperature = false;
}
}
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
//textView.setText(sensorEvent.values[0]+" °C");
textView.setText(celsiusTemperature + "C");
}
@Override
protected void onPostResume() {
super.onPostResume();
if (tenperature){
sensorManager.registerListener(this,tepmSensor,SensorManager.SENSOR_DELAY_NORMAL);
}
}
@Override
protected void onPause() {
super.onPause();
if (tenperature){
sensorManager.unregisterListener(this);
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
}
ještě je tam někde chyba pořád to ukazuje Temperature Sensor is not Avaliable" na fyzickém mobilu díky