Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Android studio teplotní čidlo

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

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny