zoukankan      html  css  js  c++  java
  • delphi xe6 for android 自带控件LocationSensor优先使用GPS定位的方法

    delphi xe6 for android LocationSensor控件默认是优先使用网络定位,对定位精度要求高的应用我们可以修改原码直接指定GPS定位。

    修改方法:

    将C:Program FilesEmbarcaderoStudio14.0source tlcommonSystem.Android.Sensors.pas拷贝到自己的工程目录里

    打开System.Android.Sensors.pas找到function TUIAndroidLocationSensor.DoStart: Boolean;,然后按下面的提示修改就可以了。

    function TUIAndroidLocationSensor.DoStart: Boolean;
    var
      ProviderName : JString;
      Provider : JLocationProvider;
    begin
      Result := False;
      FPermitted := TPermission.IsPermitted(StringToJString('android.permission.ACCESS_FINE_LOCATION'));
      if FPermitted then
      begin
        if not Assigned(FLocationListener) then
          FLocationListener := TLocationListener.Create(Self);
    {-----删除以下几行
        if FLocationManager.isProviderEnabled(TJLocationManager.JavaClass.NETWORK_PROVIDER) then
          ProviderName := TJLocationManager.JavaClass.NETWORK_PROVIDER
        else
          if FLocationManager.isProviderEnabled(TJLocationManager.JavaClass.GPS_PROVIDER) then
            ProviderName := TJLocationManager.JavaClass.GPS_PROVIDER
          else
            ProviderName := TJLocationManager.JavaClass.PASSIVE_PROVIDER;
    -----删除以上几行}
        ProviderName := TJLocationManager.JavaClass.GPS_PROVIDER ;//增加这一行
        Provider := FLocationManager.getProvider(ProviderName);

        if Assigned(Provider) then
        begin
          FMyRunner := TLocationRunnable.Create(FLocationManager, FLocationListener, ProviderName);
          FActivity.runOnUiThread(FMyRunner);
          Result := True;
        end;
      end;
    end;

  • 相关阅读:
    numpy 笔记
    xdoj 1402 XY之说走就走的旅行
    红黑树 (洛谷 P3369 【模板】普通平衡树 )
    AVL树 (PAT甲级 Is It a Complete AVL Tree )
    xdoj-1297 Tr0y And His Startup
    C# 获取当前路径7种方法
    JQuery常用方法一览
    Jquery 处理字符串
    js 获取参数
    js cookie
  • 原文地址:https://www.cnblogs.com/qiufeng2014/p/3817681.html
Copyright © 2011-2022 走看看