Мое приложение в настоящее время имеет 2 услуги и 1 активность. Мой первый сервис, называемый сенсором, просто возвращает все значения датчиков телефона. Затем у меня есть вторая служба под названием Waypoint, которая обязана отправлять команды на мою карту Arduino, чтобы мой робот достиг точки. Таким образом, датчик отправляет значения в маршрутную точку. Более того, я привязал Waypoint к своей Activity, чтобы «видеть» команды, которые отправляются. Однако я не знаю, как заставить мои 2 службы взаимодействовать (как я могу отправить значения датчиков в мою службу Waypoint?), У кого-нибудь будет руководство по этому поводу? Я только видел учебник о связи между услугами и деятельностью ...
Спасибо всем!
PS: простите за мой английский ...
РЕДАКТИРОВАТЬ:
Спасибо за ваши ответы!
Я просто сделал то, что вы оба сказали, но это, похоже, не работает (у меня нет ошибок, но ничего не отображается, я хотел бы дать вам мой код, но он слишком длинный ...). Хорошо, если у вас есть смелость: http://paste.tgl0be.org/?id=10458.
Вот что я пытаюсь сделать:
- Служба «Мои датчики» получает значения всех датчиков и отправляет азимут и логическое значение запущенной службы с помощью метода sendBroadcast.
- Waypoint имеет широковещательный приемник, который получает от служб датчиков значения отправку и обновляет свои собственные переменные (поэтому здесь только азимут и запущен)
- Connexion отображает значение азимута
Но ничего не отображается ... У кого-нибудь есть представление о проблеме? (кто-то, кто читал мой код, очевидно)
Не знаю, соблюдаю ли я правила форума, на самом деле, я не думаю, что ОТВЕТИЛ на мой вопрос ... Если так, извините ...
Опять извините за мой английский
Новое редактирование:
Наконец-то я могу получить некоторые результаты, на самом деле всегда 0 ... Мне было интересно, хорошо ли объявлен мой приемник в моем AndroidManifest, так как мой приемник является внутренним классом Waypoint, вот мой код:
<?xml version="1.0" encoding="utf-8"?>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Connexion"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver class=".Waypoint$Receiver" android:name=".Waypoint$Receiver">
<intent-filter>
<action android:name="android.intent.action.EVENT_ACTION" />
</intent-filter>
</receiver>
<service android:name=".Sensors" android:enabled="true"/>
<service android:name=".Waypoint" android:enabled="true"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
<uses-permission android:name="android.permission.LOCATION" />
Я думаю, что нет, и это могло бы объяснить проблему. Символ «$» используется для внутреннего статического класса, и мой Receiver не является статическим. Кто-нибудь знает, как объявить нестатический внутренний класс в AndroidManifest?