2012-03-11 5 views
1

아래 코드와 같은 서비스를 시작한 후에이 서비스 클래스의 메서드와 변수에 액세스해야합니다.Android - 서비스의 메소드 및 변수에 액세스하는 방법

ComponentName comp = startService(new Intent(this, ClipboardService.class)); 

comp 변수를 통해 메소드와 변수에 액세스 할 수 없습니다. 이 경우 ClipboardService.class의 내용에 액세스 할 수 있도록 변수를 설정하는 방법은 무엇입니까? 감사.

+0

정적이어야합니다. –

+4

이 시나리오에서는'startService()'대신'bindService()'를 사용하십시오. – CommonsWare

+0

'bindService()'의 실례를 여기서 볼 수 있습니다 : http://blog.blundell-apps.com/notification-for-a-user-chosen-time/ – Blundell

답변

0

bindSerivce()가이 작업을 수행하는 적절한 방법 일 수 있지만 startService()를 사용하면서 수행해야 할 일을 자신 만의 저렴한 방법으로 수행했습니다. 해당 메서드/변수를 서비스를 시작하는 활동으로 옮겼습니다. 이 활동에서 필요한 메소드에 액세스하는 대신, 먼저 서비스를 중지하고 새로운 의도를 작성한 다음 서비스를 다시 시작하고 intent.putExtra()를 통해 업데이트 된 변수를 보냅니다. 그런 다음 서비스의 onStartCommand()가 변수를 추출합니다. 이것은 내가하고있는 일에 충분히 잘 작동하는 것 같다.

관련 문제