zoukankan      html  css  js  c++  java
  • 修复 XE8 for Android 方向传感器 headingX,Y,Z 不会动的问题

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

    测试:官方示例 SamplesObject PascalMobile SnippetsOrientationSensor

    适用:XE8 for Android

    修复方法:

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

    修改下面代码:

      TAndroidNativeMagneticSensor = class(TCustomOrientationSensor)
      strict private
        FNativeSensor: TNativeSensor;
      protected
        function GetUpdateInterval: Double;  override;
        procedure SetUpdateInterval(AInterval: Double); override;
        function GetOrientationSensorType: TOrientationSensorType; override;
    {+++>} // 加入下面二行代码
        function DoStart: Boolean; override;
        procedure DoStop; override;
    {<+++}
        function GetSensorCategory: TSensorCategory; override;
        function GetState: TSensorState; override;
        function GetTimeStamp: TDateTime; override;
        function GetAvailableProperties: TCustomOrientationSensor.TProperties; override;
        function GetDoubleProperty(Prop: TCustomOrientationSensor.TProperty): Double; override;
      public
        constructor Create(AManager: TSensorManager); override;
        function Supported: Boolean;
      end;

    找到 TAndroidNativeMagneticSensor.Create 加入下面代码:

    ... 略 ...
    
    constructor TAndroidNativeMagneticSensor.Create(AManager: TSensorManager);
    begin
      inherited;
      FNativeSensor := TNativeSensor.Create(ASENSOR_TYPE_MAGNETIC_FIELD);
    end;
    
    {+++>} // 加入下面代码
    function TAndroidNativeMagneticSensor.DoStart: Boolean;
    begin
      Result := FNativeSensor.DoStart;
    end;
    
    procedure TAndroidNativeMagneticSensor.DoStop;
    begin
      inherited;
      FNativeSensor.DoStop;
    end;
    {<+++} // 加入上面代码 
    
    ... 略 ...
  • 相关阅读:
    Java实现第八届蓝桥杯9算数式
    Java实现第八届蓝桥杯9算数式
    java实现第七届蓝桥杯寒假作业
    java实现第七届蓝桥杯寒假作业
    java实现第六届蓝桥杯隔行变色
    java实现第六届蓝桥杯无穷分数
    mysql-5.7.19-winx64服务无法启动解决方案
    MySQL集群搭建详解
    Windows下多个Mysql实例配置主从
    在一台机子上,安装,运行两mysql数据库实例
  • 原文地址:https://www.cnblogs.com/onechen/p/4497282.html
Copyright © 2011-2022 走看看