2017-01-30 6 views
1

Я работаю над тем, какие Android звонки software-based sensors. Логически, я не могу поместить свои алгоритмы непосредственно в 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#registerListener(android.hardware.SensorEventListener, android.hardware.Sensor, int)) для разработчика.

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

+2

Если вам нужен IPC, «естественным путем» является либо «AIDL», либо «android.os.Messenger», в качестве альтернативы вы можете создать «трубу» и передать его другому приложению для чтения/записи. – pskink

+1

Параметры, которые у вас есть 1) по прочтению @pskink или 2) настройка AOSP. – Onik

ответ

2

Вы взглянули на http://processors.wiki.ti.com/index.php/Android-Adding_SystemService?

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

+1

Решение по предоставленной ссылке требует создания пользовательского ПЗУ. – Onik

+0

Действительно, но я не думаю, что можно добавить новую системную службу без создания пользовательского ПЗУ. –

Смежные вопросы