Как сделать такой сервис, как Android System Services?

Я работаю над тем, что Android называет программными сенсорами. По логике вещей, я не могу поместить свои алгоритмы непосредственно в MotionManager для Android. Эти алгоритмы могут быть использованы для различных приложений. Некоторые конкретные параметры могут быть установлены любым приложением и влияют на поведение всех остальных. Выход из алгоритмов что-то вроде float[4] на 100 Гц.

Я ищу хороший шаблон дизайна, но я не уверен, что это возможно с Android, потому что:

  • Я не могу напрямую добавить свой код в Android MotionManager (очевидно)

  • Базовая библиотека, импортированная во все приложения, не предназначена для этой цели.

  • "Bind" сторона Bind Services интересна, но, я думаю, они не предназначены для работы с несколькими приложениями. Более того, код для привязки не проще чем: [registerListener (SensorEventListener listener, Sensor sensor, int samplingPeriodUs)] ( https://developer.android.com/reference/android/hardware/SensorManager.html, android.hardware.Sensor, int)) для разработчика.

  • AIDL может обрабатывать сторону службы "несколько приложений", но я не думаю, что это способ сделать это по той же причине, что и служба связывания (передача ссылок).

1 ответ

Вы смотрели на http://processors.wiki.ti.com/index.php/Android-Adding_SystemService?

Написание небольшой библиотеки для сокрытия заглушек и обработки исключений может позволить вам совместно использовать службу между приложениями с помощью простого API.

Другие вопросы по тегам