2011-05-05 7 views
1

내 응용 프로그램에는 현재 2 개의 서비스와 1 개의 활동이 있습니다. 센서라고하는 첫 번째 서비스는 휴대 전화 센서의 모든 값을 반환합니다. 그런 다음 Waypoint라는 두 번째 서비스가 있습니다.이 서비스는 내 로봇이 웨이 포인트에 도달 할 수 있도록 내 Arduino 카드에 명령을 전송해야합니다. 따라서 Sensor는 값을 Waypoint로 보냅니다. 또한 Waypoint를 내 활동에 연결하여 전송되는 명령을 "확인"했습니다. 그러나 2 개 서비스를 통신하는 방법을 모르지만 (센서의 값을 내 Waypoint 서비스에 보낼 수있는 방법은 무엇입니까?), 그 누구에 관한 튜토리얼이 있습니까? 나는 서비스와 활동 사이의 의사 소통에 대해서만 튜토리얼을 보았습니다 ...Android : 서비스 2 개 확인

고마워요!

PS : ... 내 영어 죄송합니다

편집 :

가 귀하의 답변 주셔서 감사합니다!

나는 둘 다 말했지만 작동하지 않는 것 같습니다 (오류는 없었지만 아무것도 표시되지 않습니다. 내 코드를 제공하고 싶습니다.하지만 너무 길었습니다 ...). 글쎄, 용기가 있다면 http://paste.tgl0be.org/?id=10458. 여기

은 내가 할 노력하고있어 무엇 :

  1. 내 센서 서비스가 모든 센서의 값을 얻을 방위각과 sendBroadcast 방법을 사용하여 시작 - 서비스 부울을 보낼 수 있습니다.
  2. 웨이 포인트는
  3. 커넥션이 표시 얻을 방위각

그러나 아무것도의 값을 표시 (그래서 여기에만 방위각 및 시작) 값 센서 서비스는 자신의 변수를 보내고 업데이트 얻을 방송 수신기를 가지고 .. 누구든지이 문제에 대한 아이디어가 있겠습니까? 내가 포럼 규칙을 존중하면 나도 몰라 (분명히, 내 코드를 읽을 사람)

은, 참으로 나는 내 질문에 대답 ... 생각하지 않는다

다시 ... 죄송합니다, 그렇다면 내 영어


새로운 편집 죄송합니다 : 내 수신기 내부와 같이 내 수신기가 아니라, 내 AndroidManifest를로 선언 된 경우 드디어 항상 어떤 결과를 얻을 수 0 사실 수 있습니다

... 궁금하네요 Waypoint 강의, 여기 내 코드는 다음과 같습니다.

<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" /> 

<?xml version="1.0" encoding="utf-8"?> 

나는 그것이 아니라 생각하고 그 문제를 설명 할 수있다. "$"기호는 내부 정적 클래스에 사용되고 내 수신기는 정적이 아닙니다. 누구나 AndroidManifest에서 정적이 아닌 내부 클래스를 선언하는 방법을 알고 있습니까?

답변

1

Sensor 서비스가 Waypoint 서비스와 비동기 적으로 통신하므로 Sensor 서비스가 추가 데이터 (센서 데이터)로 브로드 캐스트를 보내도록하고 Waypoint 서비스가 BroadcastReceiver를 등록하여 해당 브로드 캐스트를 가져올 수 있습니다.

+0

감사합니다. 나는 당신의 충고에 따라 메시지를 편집했습니다. –