Schließen

Wonach suchst du?

abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Originalthema:

Galaxy Watch 7 Sensor TYPE_LINEAR_ACCELERATION

(Thema erstellt am: vor 4 Wochen)
202 Anzeigen
Veit76
Apprentice
Optionen

Ich entwickle Apps für die Galaxy Watch. Bei der 4er, 5er und 6er hatte ich kein Problem mit dem Beschleunigungs-sensor. 

sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);


Der Typ TYPE_LINEAR_ACCELERATION sollte bei ruhender Uhr auf allen Achsen einen Wert um die 0 liefern. 
Seit der GW 7 ist dieser Wert völlig falsch, zeigt z.b. auf der Y achse gerade 6.6... obwohl die Uhr ruhig auf dem Tisch liegt.

Ist dieser Fehler bekannt?

8 Antworten
Barney0w
Samsung Members Star ★★
Optionen
Das solltest Du dann an Samsung melden oder dort erfragen. Samsung Members, Support und dort Feedback.
Barney0w.png
SmartThoughts
Mastermind
Optionen

So ein paar Zeilen Standard-Code helfen nicht weiter. Versuche aber das hier:

SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);


Also mit TYPE_ACCELEROMETER.

[Mal sehen, wie das hier formatiert wird...]

 

 

SmartThoughts
Mastermind
Optionen

Ah. Cool... Man kann ja pre-formatted Text in Kommentare packen. Geht mit der App nicht...

Edit: die Members App kann das nicht sauber darstellen. Ist sinnlos, das hier zu machen.

Also: folgendermaßen mal nachsehen, was auf dem jeweiligen Device vorhanden ist:

List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
for (Sensor s : sensors) {
    Log.d("SensorList", "Sensor: " + s.getName());
}

 

Und dann sowas in der Art hier machen:

SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if (sensorManager != null) {
    Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);
    if (sensor != null) {
        sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);
    } else {
        // Hat kein TYPE_LINEAR_ACCELERATION!
        Log.w("Sensor", "TYPE_LINEAR_ACCELERATION nicht vorhanden.");
        // Hier dann vielleicht mit TYPE_ACCELEROMETER arbeiten.
    }
}

 

Aber das ist ja auch alles eher ein Thema für das Develepor Forum...

 

 

SmartThoughts
Mastermind
Optionen
Keine Antwort ist auch eine Antwort...
Veit76
Apprentice
Optionen

ja ich dachte mir schon, dass ich hier nicht richtig bin 😉

der TYPE_ACCELEROMETER läuft ganz normal, aber der TYPE_LINEAR_ACCELERATION ist halt der bequemste... ich habs sogar geschafft, dass sich die werte so richtig aufgeschaukelt haben, obwohl die uhr einfach nur am tisch lag. stiegen langsam und gemächlich immer weiter. 

aber guter tipp mit dem testen nach dem type, das probier ich, danke.  

0 Likes
Veit76
Apprentice
Optionen

der TYPE_LINEAR_ACCELERATION ist vorhanden, sonst hätte ich ja nicht registern können .... ich melde das mal an Samsung. 

SmartThoughts
Mastermind
Optionen
Ohne Logs lässt sich das ja nicht wirklich beurteilen. Ich würde jetzt beides nebeneinander laufen lassen und dann vergleichen. Macht sich doch prima in einem Bug-Report.
Veit76
Apprentice
Optionen

Medien.jpeg
links ist die gw7, rechts die gw5. 
da wir nächste woche 200 gw7 ausliefern, hab ich mein thema jetzt erstmal anderweitig gelöst.

0 Likes