0

我正在编写一个使用自定义 gps 来跟踪用户当前位置的自定义程序。我有一个在后台运行的服务,它不断地轮询 GPS 传感器的当前位置。然后我使用以下代码开始一个新活动:

final Intent intent = new Intent(Intent.ACTION_VIEW,
        Uri.parse(
            "http://maps.google.com/maps?" +
        "saddr="+lngstart+","+latstart+"&daddr="+lngend+","+latend));
         intent.setClassName(
          "com.google.android.apps.maps",
         "com.google.android.maps.MapsActivity");
           startActivity(intent);

后台运行的服务不断为用户当前位置计算新的地理点。谷歌地图的出现是有意的,并且有我最初提供的数据,但是我想不断地向它提供有关用户当前位置的更新信息。

如何将有关用户当前位置的更新信息提供给我开始的地图活动?

如何禁止地图活动尝试使用任何其他传感器(如手机信号塔,或使用内置 GPS,记住我使用的是自定义 gps 设置)?

如何 ping 跑步活动以获取包含沿其绘制的路线的“腿”的经度和纬度坐标的列表信息?

最后有没有办法向正在运行的活动添加一个按钮,按下时会暂停它,并开始一个新的活动?

谢谢 :)

4

2 回答 2

0

当您发送此信息时Intent,您基本上会转移到一个新的应用程序,一个Google Maps application位于您Android手机中的应用程序。AFAIK 您对此应用程序没有任何控制权,因为这不是您的应用程序的一部分,此时您无法操作它。所以你不能向它添加任何按钮或禁用它可能用于导航的任何传感器(unless you disable them from the settings.

于 2013-04-09T18:53:31.380 回答
0

我对你的问题的看法:

如何将有关用户当前位置的更新信息提供给我开始的地图活动?

一旦你开始了谷歌地图活动,你就不能再从你的应用程序中控制它了。唯一的选择是使用新位置重新创建谷歌地图意图。

如何禁止地图活动尝试使用任何其他传感器(如手机信号塔,或使用内置 GPS,记住我使用的是自定义 gps 设置)?

如果您使用的是 Google Map API,那么您可以控制它。但我从未尝试过。但是,如果您像上面那样调用现有的地图应用程序,那么我认为您没有任何控制权

如何 ping 跑步活动以获取包含沿其绘制的路线的“腿”的经度和纬度坐标的列表信息?

不确定这个请求。可能您可以保存初始位置并获取当前位置。然后使用这两个位置并创建地图

最后有没有办法向正在运行的活动添加一个按钮,按下时会暂停它,并开始一个新的活动?

您可以使用 Google Map API 而不是使用 google intent 来做到这一点。

于 2013-04-09T19:07:40.577 回答