当前位置: 首页 > 知识库问答 >
问题:

背景位置跟踪,用于计算他们旅行的距离和路线图

谢涵煦
2023-03-14

我正在Xamarin中实现一个android应用程序。Android平台,该应用程序用于跟踪他旅行的距离和路线。通过使用低版本和高版本的android OS的后台定位服务和前台定位服务。

用户关闭应用程序时,我的前台服务停止,无法跟踪距离和路线,我在更高版本的Android设备(8.0操作系统版本以上)中面临这个问题。它给了我只有起点和终点的距离与Arial路线。

请给我任何其他方法来解决我的问题,而不使用谷歌或其他方向的API。

共有1个答案

裘禄
2023-03-14

原因:

为了保护电池、用户体验和系统健康,后台应用程序在运行Android 8.0的设备上使用时接收位置更新的频率较低。此行为更改会影响所有接收位置更新的应用程序,包括Google Play服务。

这些更改会影响以下API:

  • 融合位置提供者(FLP)

解决方案:

Android 8.0引入了一种称为上下文的新方法。在前台启动tforegroundservice(),以启动新服务。系统创建服务应用程序后,有五秒钟的时间调用servicestartForegroundvisible()方法以显示新服务用户通知。如果在此时间限制内未调用应用程序

然后系统将停止此应用程序以获取ANR服务和语句。

Intent service = new Intent(TheApplication.getInstance().getApplicationContext(), MyBackgroundService.class);
service.putExtra("startType", 1);
if (Build.VERSION.SDK_INT >= 26) {
    TheApplication.getInstance().startForegroundService(service);
} else {
    TheApplication.getInstance().startService(service);
}

 类似资料:
  • 我正在尝试写我的第一次postgis查询 我的桌子如下所示 这是一辆id为1的车辆的gps数据。我需要计算车辆行驶的总距离,比方说2017-05-20年,以米为单位。可以有其他具有不同ID的视图。 参考(如)。https://gis.stackexchange.com/Questions/268776/Finding-Total-Distance of-Path-Along-Post-PointG

  • 我想做一个跑步应用程序,跟踪用户的位置、速度和跑步距离。目前,我正在使用谷歌定位服务API获取GPS数据,因为谷歌在官方网站上推荐它。 但问题是,我只能每10秒更新一次位置,如果只是在地图上绘制位置,这是可以的,但我想计算用户当前速度(公里/小时)、当前速度(分钟/米),并计算他跑一圈(1公里或1英里)的确切时间。问题是,如果我每10秒收到一次更新,我无法准确计算这些参数。例如,更新是在用户996

  • Google Play Services的融合位置提供程序Api允许您使用位置侦听器或待定意图请求位置更新。我可以通过位置监听器成功地请求位置更新,但我一直在努力复制相同的行为和未决的意图。对于后者,我启动了一个intent服务来处理位置数据。我在测试过程中注意到,位置更新与我在位置请求中设置的间隔相对应。然而,随着时间的推移,更新之间的间隔大大增加,即使位置请求中的间隔保持不变。我在多台设备上多

  • 我需要计算汽车行驶的距离!不是距离,不是距离到否。如果我们通过谷歌提供的API计算,距离可以完全不同。谷歌可以提供从一个点到另一个点的1公里距离,但汽车可以按照骑手想要的方式行驶800米。使用加速计没有帮助。它适用于步行,但绝不适用于更快的速度。 我尝试过使用Google的位置API:距离到或距离之间根本不是一个选项。它可以给出与IN REAL截然不同的结果。在真实的汽车中,可以通过非常短的地方并

  • 问题内容: 我在查询中使用带轮胎的过滤器,效果很好: 我希望结果将以某种方式包括我用于过滤器的地理位置的计算距离。 有没有办法告诉Elasticsearch在响应中包括它,这样我就不必为每个结果都用ruby计算它? ==更新== 我在一个Google网上论坛中找到了答案: 按排序将得出原始结果中的距离。 问题答案: 排序依据将返回结果中的距离:http : //www.elasticsearch.

  • 我目前正在开发一个专注于健身的应用程序。我的基本想法是允许人们跟踪他们的速度、距离和时间。到目前为止,我已经通过使用位置管理器getSpeed()设法获得了速度。我想知道如何获得旅行的距离?我寻找了一些示例,但对我来说有点困惑,因为我刚刚开始使用android。我将感谢任何帮助或建议,谢谢