выставить поток gps NMEA через ОС Android

Я пытаюсь запустить приложение/драйвер C на Android, который считывает последовательный поток NMEA, поступающий с устройства GPS. Я могу успешно запустить этот драйвер на платформе Linux, если я читаю с правильного устройства (например, /dev/ttyUSB0, ttyS0 и т. д.).

Драйвер работает на ОС Android, но я не знаю, как устройство подвергается воздействию операционной системы, поэтому я не могу читать в потоке GPS. Кто-нибудь знает, можно ли получить к этому доступ напрямую через ОС или мне нужен дополнительный мод драйвера/ядра?

Я не ищу никаких ответов LocationManager или JNI.

Спасибо!


person jbrew    schedule 10.10.2012    source источник


Ответы (1)


Боюсь, это должен быть API LocationManager, если у вас нет рутированного телефона. Длинный путь состоит в том, чтобы получить поток GPS, внедрив GpsStatus.NmeaListener, вызвать обратный вызов JNI и получить поток в C. Но я не думаю, что это то, что вам нужно. Я думаю, вы хотите иметь прямой доступ к последовательному устройству, к которому подключено оборудование GPS. Этого, я думаю, трудно достичь с помощью модели безопасности/разрешений Android.

person rroh    schedule 10.11.2015