2017-01-28 19 views
0

У меня есть требование, когда мне нужно получить данные из usb моего мобильного Android, подключенного к gps-устройству, данные должны быть рекурсивно доступны, когда любое мое приложение запрашивает его.Служба GPS для работы в фоновом режиме

Нечто подобное должно работать как приемник местоположения.

Что я могу использовать в андроиде, так что это требование получения данных в любое время от этого USB-приложения до приложения возможно.

ответ

0

Это взаимодействие между процессами. основной метод IPC в андроиде является использование услуг см https://developers.android.com/guide/components/processes-and-threads.html#IPC

https://developers.android.com/guide/components/bound-services.html#Binding

вы можете запустить Service или IntentService в фоновом режиме, а затем связать (bindService()) или отсоединены (unbindService()) на службу, когда вам нужно местоположение GPS

пример использовать внутренний GPS в фоновом режиме с помощью андроида системы [!] служба LocationListener в http://www.stackoverflow.com/questions/28535703/best-way-to-get-user-gps-location-in-background-in-android

вы должны сделать это по-другому, потому что ваша служба не является службой системы

так написать сервис фона GPS (это то, что Google говорит, что это лучшая практика, я хотел бы использовать службу вместо IntentService ->https://developers.android.com/training/best-background.html), то ваш (самописные) приложения могут привязываться к службе GPS для получения данных. Вы должны начать службу в каком-то приложении или при загрузке до

очень хороший связыванию пример http://www.stackoverflow.com/questions/4300291/example-communication-between-activity-and-service-using-messaging

обычно внешний GPS реализовать USB CDC класс, так что вы должны увидеть его в /dev/tty(USB | ACM ,...) это то, как вы можете связаться с ним или вы проверяете, есть ли у него события в /dev/input/eventx (нужен корень для этого)

+0

Спасибо, я попробую это и вернусь к вам. Я использую API от D2xx [link] (https://github.com/ksksue/ Android-FTDI-UART-Sample) .Reference [link] (http://www.ftdichip.com/Android.htm), чтобы получить данные с USB, есть ли какой-либо пример проекта Android для чтения данных с usb. – RShenoy

+0

зависит от того, какой класс USB использует внешний интерфейс. если он реализует CDC, вы можете использовать команды последовательного порта или захватывать события или .... Узел usb нижнего уровня Android находится в 'android.hardware.usb.UsbDeviceConnection'. примеры приведены в https://developer.android.com/reference/android/hardware/usb/UsbDeviceConnection.html и http://www.programcreek.com/java-api-examples/index.php?api=android.hardware .usb.UsbDeviceConnection –

+0

Пример: «Как отправлять сообщения между активностью и службой». Я хочу запустить свою собственную службу «А» отдельно (которая получает данные из usb) и получить эти данные из этой службы «A», к другим или другим приложениям. Пожалуйста, помогите мне и с этим. – RShenoy