2012-10-17 3 views
1

이제 음악을 재생할 수있는 MP3 플레이어가 생겼습니다. 활동 대신 서비스를 사용해야하는지 궁금합니다. 나는 배경 음악을 재생하는 방법은 두 가지가백그라운드 활동 대신 서비스를 사용해야합니까?

는 (다시 때 사용자 버튼을 누릅니다 계속 재생) 사용자를 눌러 뒤로 가기 버튼, 내가 onBackPressed()을 무시하고 길을 사용자 프레스처럼 배경에 활동을 이동

  1. 홈 버튼이므로 사용자가 내 앱을 다시 시작하면 예상대로 표시됩니다.

  2. onBackPressed()을 무시하는 것에 대한 기사를 읽었으며 어떤 사람들은 백그라운드에서 일부 작업을 수행하는 좋은 방법이 아니라고 말하면 서비스를 사용하는 것이 더 좋습니다. :). 그래서 내 생각은 사용자가 뒤로 버튼을 누르면, 나는 활동을 파괴하고 해제하기 위해 finish()로 전화를 한 다음, 활동이 끝난 지점에서 음악을 재생할 수있는 서비스를 만들고 사용자가 주요 활동으로 돌아갈 수 있도록하는 알림을 작성합니다.

첫 번째 방법은 매우 간단하고 구현하기 쉽지만 권장하지는 않습니다. 그리고 두 번째 것은 더 좋지만 더 복잡합니다. 그리고 저는이 방법이 첫 번째보다는 메모리를 최적화한다고 생각하지 않습니다.

나는 어느 것을 사용해야하는지 궁금합니다. 위의 두 가지 방법 중 더 나은 것을 말해 주시거나 최근에 비슷한 것을 경험하신 경험이 있으시면이 상황에서 접근 방법을 말씀해주십시오.

감사합니다.

답변

0

질문을 올바르게 이해했다면 서비스를 이용해야합니다.

media player guide을 참조하십시오.

+0

에서

봐 감사합니다,하지만 당신은 첫 번째 방법은 좋지 않은 이유를 말해 주시겠습니까? – Paul

+0

첫 번째 접근 방식이 제대로 작동하는지 의심 스럽습니다. 백그라운드에있는 활동은 개발자가 아닌 OS에서 관리합니다. 오랜 기간 동안 "배경"작업을 수행하려는 경우 실제로 작업이 완료 될 것이라고 확신해야합니다. 마치 MP3 플레이어를 구현할 때 언제 끝날 지 모르기 때문에 가장 좋은 방법은 서비스 (예 : AsyncTask 대신)입니다. – takecare

+0

우리의 앱이 OS에 의해 언제 죽 ㄴ지 알 수 없기 때문에 유일한 이유는 무엇입니까? 그리고 그것은 메모리 최적화 때문이 아닙니다. – Paul

1

서비스를 이용해야합니다.

그리고 이상적으로는 시스템에 의해 살해되는 것을 Ongoing Notification

이 방지됩니다 서비스를 사용합니다. mediaplayer guide

+0

도와 주셔서 감사합니다. – Paul

관련 문제