Android GPS服务将在后台运行

Android GPS服务将在后台运行,android,gps,location,usb,listener,Android,Gps,Location,Usb,Listener,我有一个要求,我必须从连接到gps设备的android手机的usb上获取数据,只要我的任何应用程序要求,这些数据都应该是递归可用的 像这样的东西应该可以作为位置侦听器使用 我可以在android中使用什么,这样就可以随时从usb向应用程序获取数据。这是进程间通信。android中IPC的主要方法是使用服务,请参阅 您可以在后台运行Service或IntentService,然后在需要GPS位置时绑定(bindService())或解除绑定(unbindService())到服务 下面是使用an

我有一个要求,我必须从连接到gps设备的android手机的usb上获取数据,只要我的任何应用程序要求,这些数据都应该是递归可用的

像这样的东西应该可以作为位置侦听器使用


我可以在android中使用什么,这样就可以随时从usb向应用程序获取数据。

这是进程间通信。android中IPC的主要方法是使用服务,请参阅

您可以在后台运行
Service
IntentService
,然后在需要GPS位置时绑定(
bindService()
)或解除绑定(
unbindService()
)到服务

下面是使用android系统[!]服务在后台使用内部GPS的示例
LocationListener

您必须以不同的方式执行此操作,因为您的服务不是系统服务

因此,编写一个后台GPS服务(这是google所说的最佳实践,我将使用服务而不是IntentService->),然后您的(自行编写的)应用程序可以绑定到GPS服务以获取数据。您必须在某些应用程序或启动时启动服务

一个非常好的绑定示例是


通常情况下,外部GPS实现USB CDC类,因此您应该在
/dev/tty(USB | ACM,…)
中看到它。这是您与它通信的方式,或者您可以检查它在
/dev/input/eventx
中是否有事件(需要根目录)

谢谢,我将尝试此方法并返回给您。我正在使用D2xx的API。参考从USB获取数据,是否有android项目从usb读取数据的例子。这取决于extern GPS实现的usb类。如果它实现CDC,您可以使用串行端口命令或捕获事件或。。。。android较低级别的usb位于
android.hardware.usb.UsbDeviceConnection
中。示例在中,示例是“如何在活动和服务之间发送消息”。我想单独运行我自己的服务,例如“a”(从usb接收数据),并将此数据从此服务“a”获取到另一个或不同的应用程序。请帮我解决此问题。无所谓。您可以从任何应用程序绑定到所需的服务,服务没有明确绑定到我根据[和参考]完成的特定应用程序,很抱歉,我仍然无法确定如何订阅服务以及如何与服务通信。请帮助我了解“如何从另一个外部应用程序订阅服务”