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;
    {<+++} // 加入上面代码 
    
    ... 略 ...
  • 相关阅读:
    窗口与窗口之间的关系
    线程同步机制--信号量
    c++的静态变量与静态函数
    MFC实现普通DLL
    常规DLL与扩展DLL区别
    pyget-资源与标签(Sprite、Label、Font)
    linux如何添加系统环境变量
    nginx 入门 安装
    redis基本用法
    linux安装 redis
  • 原文地址:https://www.cnblogs.com/onechen/p/4497282.html
Copyright © 2011-2022 走看看