2012-09-19 4 views
1

서비스가 자동으로 실행됩니다 (서비스가 자동으로 시작됨).
서비스에서 활동으로 데이터 전달

나는 활동을했습니다. 내가 버튼을 눌러 및 방법이 작동 할 때

Button.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     DoIt(); 
    } 
}); 

일부 데이터가 내 서비스에서 변수 data에 기록됩니다 :이 활동 버튼에서
는 방법 DoIt()를 시작합니다.
나는 로그인 data 볼 수 있습니다

public String getMessage(String data) { 
... 
Log.d(TAG, "Our Data: " + data); 
return date; 
... 

을하지만 버튼을 눌러 (버튼 아래) 내 활동이 데이터를 볼 수있는 방법?
감사합니다.

답변

1

활동에서이 데이터를 볼 수있는 방법은 없습니다.
애플리케이션 클래스를 작성하면 더 쉽게 작업 할 수 있습니다. 서비스가 정보를 갱신 할 수 있도록 응용 프로그램 클래스에서 데이터를 보유 할 수 있으며, 활동은이를 검색 할 수 있습니다. 확실한지 당신이 원하는 것을 thats.

1

서비스를 활동에 바인딩해야합니다. 서비스가 바인딩되면 서비스의 메소드에 액세스 할 수 있습니다. 당신은 활동이 즉시 통보 될 수 있도록 데이터가

+0

죄송합니다, 어떻게 해야할지 모르겠군요. (더 많은 예제를 제공 할 수 있습니까? 감사합니다.) – user1680782

+0

페이지에 예제 코드가 있습니다. –

0

이 같은 활동에 처리기를 추가 변경 될 때 http://developer.android.com/guide/components/bound-services.html

당신은 또한 당신의 서비스에 리스너를 추가 할 수있는 방법이 예를 살펴 보겠습니다 : -

과 같은 메시지 객체의 서비스에서 값을 보내

Handler handler = new Handler() { 
     public void handleMessage(Message message) { 
      Object path = message.obj; 
      if (message.arg1 == RESULT_OK && path != null) { 
       Toast.makeText(context, 
         "Success" + path.toString(), Toast.LENGTH_LONG) 
         .show(); 
      } else { 
       Toast.makeText(context, "Operation failed.", 
         Toast.LENGTH_LONG).show(); 
      } 

     }; 
    }; 
: -

Messenger messenger = (Messenger) extras.get("MESSENGER"); 
       Message msg = Message.obtain(); 
       msg.arg1 = data;//your value here 
       msg.obj = data; 
       try { 
        messenger.send(msg); 
       } catch (android.os.RemoteException e1) { 
        Log.w(getClass().getName(), "Exception sending message", e1); 
       } 

는 작동 바랍니다.

+0

문자열 데이터가 있습니다. msg.arg1 = data (유형 불일치 : String에서 int로 변환 할 수 없음) – user1680782

+0

메신저 메신저 = (메신저) extras.get ("메신저"); (엑스트라는 해결할 수 없음) – user1680782

+1

/** 서비스 시작시 사용 **/메신저 메신저 = 새 메신저 핸들러) \t \t \t \t intent.putExtra ("MESSENGER"톡) \t \t \t \t \t \t \t \t intent.putExtra ("urlpath", "이것이 내 요구 사항이 무엇이든간에"); \t \t \t \t startService (인 텐트); – Chandrashekhar

관련 문제