修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题

问题:XE8 for Android 方向传感器无法正常运作(在 XE7 是正常的)

测试:官方示例 Samples\Object Pascal\Mobile Snippets\OrientationSensor\

适用:XE8 for Android

修复方法:

请将源码 System.Android.Sensors.pas 复制到自己的工程目录里,再进行修改。

修改下面代码:

constructor TAndroidNativeLightSensor.Create(AManager: TSensorManager);
begin
  inherited;
  FNativeSensor := TNativeSensor.Create(ASENSOR_TYPE_LIGHT);
{+++>}FNativeSensor.DoStart; // 加入这行
end;

 

constructor TAndroidNativePressureSensor.Create(AManager: TSensorManager);
begin
  inherited;
  FNativeSensor := TNativeSensor.Create(ASENSOR_TYPE_PRESSURE);
{+++>}FNativeSensor.DoStart; // 加入这行
end;

 

constructor TAndroidNativeMagneticSensor.Create(AManager: TSensorManager);
begin
  inherited;
  FNativeSensor := TNativeSensor.Create(ASENSOR_TYPE_MAGNETIC_FIELD);
{+++>}FNativeSensor.DoStart; // 加入这行
end;

 

constructor TAndroidNativeProximitySensor.Create(AManager: TSensorManager);
begin
  inherited;
  FNativeSensor := TNativeSensor.Create(ASENSOR_TYPE_PROXIMITY);
{+++>}FNativeSensor.DoStart; // 加入这行
end;

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。