小编Boe*_*kes的帖子

GPS 跟踪的前台服务在一段时间后停止工作

背景: 我们有一个应用程序可以为一群人进行时间登记。在此示例中,我们使用 Zebra TC26(型号:TC26BK-11A222-A6),并通过扫描对多人进行打卡。接下来,应用程序会跟踪手机的 GPS 位置,以定位在哪个字段中执行活动。然后,农民可以更准确地计算每块田地的成本。

这个功能在 android 10 之前都工作得很好。现在我的设备上在 1 小时或 1 小时 30 分后我没有得到新的位置。在另一台设备上,我有时会得到更长的时间,但也会停止。从Android 10开始我遇到了问题,我在网上找到了很多信息,但似乎并没有解决问题。正常工作日:

  • 早上 8 点左右开始。然后设备放在口袋里直到午餐
  • 下午 1:00 至 1:30 之间吃午餐,然后设备再次放入口袋。
  • 下午5点左右结束。

所以在工作期间他们不使用手机。

额外的

  • 过去我尝试在屏幕上使用唤醒锁。这适用于 android 8/9 再次激活 GPS。但这不适用于 Android 10/11
  • 我还添加了后台位置访问(虽然不是必需的),但看看我是否可以启用“始终位置”(如果这有影响)。
  • antiDoze 服务也是几年前推出的用于保持 CPU 唤醒的服务。请注意,通知的channelID 是相同的。我不知道这是否有影响。
  • 我还在我的应用程序中看到,大多数时候(比如 99%)服务器仍然从设备接收数据,但位置是空的。在 1% 的情况下,设备不发送数据。
  • 我不使用熔断器位置提供程序,因为并非所有设备都有 GMS 服务。
  • 答案可能是我需要重写一些东西。对我来说这不是问题,因为我的最终目标是拥有一个可用的产品。如果是这种情况,请向我提供详细的计划以及放置内容的位置,或者提供教程的链接。

清单:(我遗漏了一些权限和 antiDozeService,因为我认为它们与 GPS 部分无关)

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

 <activity android:name=".SplashActivity"
           android:theme="@style/SplashTheme">
               <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
                  <category …
Run Code Online (Sandbox Code Playgroud)

android location android-gps android-10.0 android-11

5
推荐指数
1
解决办法
2253
查看次数

C#GMap.Net计算多边形的表面

我正在寻找一种计算多边形下表面的方法.

我想要完成的是,使用我的程序的用户可以创建一个多边形来标记他的属性.现在我想知道表面区域是什么,所以我可以告诉用户他的财产有多大.

单位为m²或km²或公顷.

多边形的点具有纬度和经度.

我在WPF和GMap.NET上使用C#.地图是WindowsFormHost这样的,所以我可以使用GMap.Net的Winforms东西,因为这可以提供覆盖等.

我希望有人可以帮助我或给我一个帖子,其中解释我没有找到.

c# wpf gmap.net geometry-surface

2
推荐指数
1
解决办法
4026
查看次数