我有一个要求,我必须从连接到gps设备的android mobile的usb获取数据,每当我的任何应用程序要求时,数据应该递归地提供。
像这样的东西应该作为位置监听器。
我可以在android中使用什么,以便可以随时从这个usb获取数据到应用程序。
答案 0 :(得分:0)
这是进程间通信。 android中IPC的主要方法是使用服务,参见https://developers.android.com/guide/components/processes-and-threads.html#IPC
https://developers.android.com/guide/components/bound-services.html#Binding
您可以在后台运行Service
或IntentService
,然后在需要GPS位置时绑定(bindService()
)或解除绑定(unbindService()
)
使用android系统[!]服务LocationListener
在后台使用内部GPS的示例位于http://www.stackoverflow.com/questions/28535703/best-way-to-get-user-gps-location-in-background-in-android
您必须以不同方式执行此操作,因为您的服务不是系统服务
所以写一个后台GPS服务(这是谷歌所说的最佳做法,我会使用服务代替IntentService - > https://developers.android.com/training/best-background.html)然后你的(自编)应用程序可以绑定到GPS服务获取数据。您必须在某个应用程序或启动时启动该服务
通常外部GPS实现USB CDC类,所以您应该在/dev/tty(USB | ACM ,...)
中看到它,这是您可以与它通信的方式,或者检查它是否在/dev/input/eventx
中有事件(需要root用于此)