2009-12-02 2 views
3

안드로이드 개발에 초보자로서, 나는 기초를하고 미디어 플레이어를 만들려고 노력하고있어. 그것은 하나의 액티비티에서 잘 작동하지만, 이제 액티비티가 파손 된 후에도 계속 수행 할 수 있도록 MediaPlayer를 원격 서비스로 옮깁니다. 필자는 필요한 코드를 서비스로 옮겼고, 서비스 메소드를 호출해야하는 활동에 주석을 남기고, AIDL을 구현했으며, 오류없이 Eclipse를 빌드합니다.안드로이드 bindService/원격 서비스 - 모든 기본적인 예제?

그러나 IPC 방법을 호출하는 방법에 대해서는 완전히 혼란 스럽습니다. 지방이없는 간단하고 최소한의 예가 있습니까? 단지 맨손으로 필수품입니까?

IPC 메서드를 사용하기 때문에 onStart()를 전혀 사용하지 않아도됩니다. (activity.onDestroy에서 호출 한 경우) loadFile (파일 경로)을 사용하고 public void considerDeath() {if (! isPlaying()) {MyService.stopSelf()} 메서드가 activity.onDestroy에서 호출되었습니다.

/guide/개발/도구/aidl.html 여러 바인더를 가지고,하지만 난 mSecondaryConnection 부분을 사용할 때, 나는 방법을 과부하로 일을 혼동하는 것 같다 http://www.anddev.org/remote_service_tutorial-t8127.html을 시도했습니다

"MyService.Stub이 해결 될 수 없다"얻는다.

나는 마크 머피 아무것도 찾을 수 있습니다 주제 :(

+0

이 시나리오에서는 원격 서비스를 사용하지 않으려합니다. 서비스가 파괴 된 후에도 서비스를 계속 사용할 수 있습니다. 서비스를 시작하려면 startService()를 사용하고 호출하지 마십시오 사용자가 중지 버튼을 누를 때까지 stopService()를 호출합니다. 원격 서비스는 추가 값없이 초과 메모리를 사용합니다. – CommonsWare

+1

BTW, 원격 서비스 예제는 http://github.com/commonsguy/cw-advandroid/tree/에서 확인하십시오. 마스터/AdvServices/ – CommonsWare

+1

감사합니다. 로컬 서비스가 실제로 다음 시나리오에서 작동합니까? * 사용자가 작업을로드하고 재생할 파일을 선택합니다. * 파일을 듣는 동안 사용자가 장치에서 '뒤로'를 누르고 메일 확인, SMS 쓰기 및 인터넷 탐색을합니다. 그동안 파일이 재생됩니다. Android가 아마 내 활동을 파괴하기로 결정했습니다. * 사용자가 앱으로 돌아가서 현재 재생중인 파일을 일시 중지하고 다른 파일을로드하기로 결정했습니다. – Chris

답변

-1

minicompact.com/mobiletalk/?p=18도 내가 찾던 바로 무엇에! (Incidently, I가 AIDL을 사용 했 로컬 서비스, 작동 됨!)

+0

링크의 HTTP-500되었습니다. – kennytm

관련 문제