2011-02-15 2 views
0

나는 기본적으로 안드로이드 뮤직 애플리케이션 내에서 사용자 행동을 탐지하는 몇 가지 작업을 수행하면서 백그라운드에서 실행되는 작은 앱을 가지고있다.안드로이드 "옵저버"

사용자가 등, 누르기/멈춤 또는 건너 뛰기 버튼을 눌렀을 경우 백그라운드에서 확인하고 싶습니다. 현재 연주중인 노래에 대한 정보에 액세스 할 수있는 것 같지만 "관찰자"가 해당 단추를 보는 방법을 모릅니다.

아무도 도와 줄 생각이 있습니까?

+2

이것은 불가능하며 거대한 보안 구멍이됩니다. – Falmarri

답변

0

내 문제를 해결할 수 있습니다!

Android 뮤직 앱 소스 코드를 확인했는데 com.android.music.MediaPlaybackService에 클래스가있어 제어가 가능하며 활동간에 전환 할 수도 있습니다.

MediaPlaybackService에서 무엇인가를보기 위해 배경 스레드 안에 BroadcastReceiver를 만들었습니다.

1

Falmarri가 대답이 아닌 이유를 선택한 이유는 확실하지 않습니다. 주석이 정확하기 때문에 : "이것은 불가능하며 거대한 보안 구멍이 될 것입니다."

"Android Music 애플리케이션"이 있다고 가정합니다. 하나의 "Android Music 애플리케이션"은 없습니다. 마켓에는 수백, 수천 가지 "Android Music"앱이 있습니다. Android 기기에는 기기 제조업체가 선택한 모든 것을 기반으로 사전 설치된 다양한 'Android Music 애플리케이션'이 있습니다.

  • 자신의 "안드로이드 음악 응용 프로그램"을 작성하거나
  • 는 오픈 소스 '안드로이드 음악 응용 프로그램 "을 찾아서

에 기여 :

당신은 환영에 있습니다

업데이트 : 비트를 명확히하기 위해 "이것은 가능하지 않으며 거대한 보안 구멍이 될 것입니다"는 "어떻게 '관찰자'를 보는 것이지, 톤 ". 가능한 경우 앱에서 사용자의 비밀번호와 PIN을 도용 할 수 있습니다.

AOSP 뮤직 플레이어 앱에 대해 문서화되고 지원되는 API가 없으며 일부 뮤직 플레이어에 대해 유사한 API를 알지 못합니다.

+0

안드로이드 용 Last.FM 앱은 어때요? 나는 현재 듣고있는 음악뿐만 아니라 내가 노래를 바꿀 때도 감지하지 못합니다. –

+0

@ Thiago Moreira Rocha : 그들이하고있는 일이 무엇이든, "관찰자"를 사용하여 단추를 보는 것이 아니라 문서화되거나 지원되지 않습니다. 위의 대답에 대한 업데이트를 참조하십시오. – CommonsWare