기기의 특정 (하드)버튼을 누를시, 사운드 파일을 재생시키는 어플을 만들고 있습니다.
어플이 실행중이 아닐때도, 심지어는 화면이 꺼져있을때에도 하드 버튼(볼륨버튼이나, 이어폰의 hook버튼)에 반응하는게 핵심이기 때문에,
액티비티는 어디까지나 서비스 on/off 용이고, 서비스/브로드캐스트리시버로 대부분 구현했습니다.
한가지, 다른 뮤직플레이어에서 음악이 재생중일 경우,
음악을 잠시 일시정지 - 내 사운드 재생- 음악 다시 재생 기능을 추가하려고하는데 맘대로 안되네요.
일단은 키 이벤트 Media Button pause/play 를 발생시켜서 해결하려고 했습니다.
Instrumentation().sendKeyDownUpSync 를 써봤는데,
이건 액티비티가 활성화되어있을때만 정상 작동을 하고,
서비스나 브로드캐스트리시버를 통해서 백그라운드에서 작업을 할 경우 inject_event permission 에러가 뜨더라고요.
찾아보니 시스템 권한이라서 루팅을 해야한다해서, 왠지 이 방법은 아닌거 같네요 ㅜ.
Q1. 서비스나 브로드캐스트리시버에서 키이벤트를 발생시키는 방법이 없을까요?
Q2. 아니면 키 이벤트 발생 외에, 다른 플레이어에서 재생중이던 음악을 일시정지, 다시 재생 시키는 방법이 있을까요? (물론 이 역시 백그라운드에서 이루어져야하고요)