마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

액티비티에서 서비스로 변수 전달하는 방법에 대해..

0 추천
안녕하세요. 안드로이드 막 입문한 입문자입니다.

여러 책들과 인터넷을 찾아봤는데요. 못찾아서 이렇게 글 남깁니다.

어떤 한 액티비티에서 -> 서비스로 변수 하나를 넘겨주고 싶은데요.

<액티비티 소스>

Intent intent = new Intent(swingActivity.this, swingControl.class);

intent.putExtra("p_value", String.valueOf(p_value));

 

<서비스 소스>
Intent receivedIntent = getIntent();
String result = receivedIntent.getStringExtra("p_value");

 

하려니까 getIntent() 부분에서 오류가 나고 정의해주라고 나오네요.

서비스에서는 다른 방법으로 변수를 받아와야되나요?

그 방법이 있다면 알려주세요. 예제 소스라도 보여주신다면 더 감사하겠습니다.

왕초보이니 자세한 설명 부탁드립니다ㅜㅜ
천리향 (170 포인트) 님이 2013년 5월 20일 질문

2개의 답변

0 추천
 
채택된 답변
안녕하세요.

같은 초보자 입니다.

요렇게 검색하니 (안드로이드 서비스 인텐트)관련자료가 나오길래

그중에하나  

http://arabiannight.tistory.com/247

http://treejsh.tistory.com/12

도전해보세요

화이팅임돠!
  (11,920 포인트) 님이 2013년 5월 20일 답변
천리향님이 2013년 5월 20일 채택됨
이것은 이미 아는 사실이네요.
이미 본 글도 있구요.
근데 제가 원하는 부분에 대해서는 적혀있지 않은것 같은데요?ㅜㅜ
천리향님이 원하는 답변은 위의 링크안에 있습니다.
SGLEE님이 답변을 해주셨는데여^^

설명을하자면
매니패스트에 퍼미션 설정하고

액티비티에
Intent intent = new Intent(this, swingControl.class);
intent.putExtra("p_value", p_value);
startService(intent);

서비스 클래스에서
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
    String result = intent.getStringExtra("p_value");
    return startId;
}

요렇게 쓰일수 있겠네요.
감사합니다!! 해결했습니다.
코드 위치를 잘못써서 삽질 했네요ㅜㅜ
감사합니다!!!
0 추천
서비스에서는 onstartcommand나 onBind  인가하는

 

메소드 안에 인자값으로 intent 가 넘어오지않나요?

 

거기서 값을꺼내야합니다..

 

getIntent() 가 아닌..
SGLEE (1,690 포인트) 님이 2013년 5월 20일 답변
...