Hallo derseitzer
mit dem fehlenden OnChange bist du nicht allein. Es gibt sicher Cracks hier, welche dir einen Einzeiler für dieses Problem z.V. stellen können.
Wenn du in die System.Android.Sensors.pas schaust, dann siehst du, dass die SensorEvents in FNativeEventQueue gespeichert und hier abgefragt werden:
Delphi-Quellcode:
function TNativeSensor.LastValue: ASensorEvent;
var
SensorEvent: ASensorEvent;
begin
while ASensorEventQueue_getEvents(FNativeEventQueue, @SensorEvent,1) > 0 do
FLastSensorEvent := SensorEvent;
Result := FLastSensorEvent;
end;
[Du musst also eigentlich nur danach suchen, wo die Events in die Queue gelegt werden, falls du je nach Sensor sehr viele Events in deiner eigenen Eventschlange haben möchtest.]
Du könntest "quick and very dirty" [und natürlich nicht zu empfehlen, ausser emba übernimmt deine Anpassungen für weitere Delphis
] die
unit System.Android.Sensors.pas in dein Projektverzeichnis kopieren und diese dann für deine Zwecke anpassen. Wie bereits erwähnt: Wenn du Anpassungen an der
unit vornimmst, dann lies Heading, Tilt und Co jeweils aus dem gleichen Sensorevent. Dann machen die ermittelten Werte mehr Sinn.
Und wenn du fertig bist mit
, dann poste deine System.Android.Sensors.pas hier
.
Es gibt doch sicher User hier, welche mit Android Apps Drohnen und Co steuern? Wie lest ihr die Sensordaten aus?