Einzelnen Beitrag anzeigen

derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Handy - Wahl des Sensors

  Alt 27. Jul 2017, 20:40
Hallo Leute,

Ich habe schon mehrmals hier die Frage gestellt aber leider noch keine Antwort bekommen:
Ich habe ein Sasmsung S7 Edge und ich habe mehrere Apps installiert um zu schauen welche Sensoren sich in meinem handy befinden.
Unter diesen Sensoren befinden sich ein Motionsensor (Gyrometer3D) und ein Orientationsensor (Inclinometer3D).

Mein Ziel: Vom Inclinometer3D Werte bekommen die nicht 0 sind (denn ich bekomme bis jetzt nur 0-Werte zurück).
Wofür?: Ich mmöchte eine 3D Objekt mit den Sensoren drehen und dies ist mit einem Motionsensor nicht so bequem, wie mit einem Orientationsensor.

Das Gyrometer3D funktioniert sehr gut hier der Code:
Code:
var
Sensormanager: TSensorManager;
Sensors: TSensorArray;
Sensor: TCustomSensor;
begin
//Sphere1.MaterialSource:= Menu.TextureMaterialSource1;
Sensormanager := TSensormanager.Current;
Sensormanager.Activate;
Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Motion);
for Sensor in Sensors do
  if TCustomMotionSensor(Sensor).SensorType = TMotionSensortype.Gyrometer3D then begin
  FSensor:=TCustomMotionsensor(Sensor);
  end;
FSensor.Start;
mit der globalen Variable: FSensor: TCustomMotionSensor;

Nun möchte ich das gleiche mit dem Inclinometer3D machen also hab ich den Code kurzer Hand umgeschrieben in:
Code:
var
Sensormanager: TSensorManager;
Sensors: TSensorArray;
Sensor: TCustomSensor;
begin
//Sphere1.MaterialSource:= Menu.TextureMaterialSource1;
Sensormanager := TSensormanager.Current;
Sensormanager.Activate;
Sensors:= Sensormanager.GetSensorsByCategory(TSensorCategory.Orientation);
for Sensor in Sensors do
  if TCustomOrientationSensor(Sensor).SensorType = TOrientationSensortype.Inclinometer3D then begin
  F2Sensor:=TCustomOrientationsensor(Sensor);
  end;
F2Sensor.Start;
mit globaler Variable F2Sensor: TCustomOrientationSensor;

Leider gibt mir das Inclinometer3D bei der Abfrage
Label1.Text := FloatToStr(F2Sensor.TiltX);

nur 0 zurück, egal wie ich das handy hebe und neige.. aht jemand eine Idee :/?
  Mit Zitat antworten Zitat