티스토리 방명록

댓글쓰기 폼
  • 비밀댓글입니다 2017.05.15 23:44
  • 비밀댓글입니다 2017.05.05 11:16
  • 비밀댓글입니다 2017.03.29 02:37
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 이어폰 버튼을 인지하는 다음 앱은 정상작동 하는지 확인해보세요.
    상위버전에서 잘 작동하는 앱이 하위버전에서는 안되는 이유는 저도 잘 모르겠습니다..
    2017.03.29 21:06 신고
  • 비밀댓글입니다 2017.03.28 16:40
  • 비밀댓글입니다 2017.03.28 15:59
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 저도 개인적으로 찾아보니까 아래와 같은 덧글을 발견할 수 있었습니다. (참고:http://stackoverflow.com/questions/20817924/broadcast-receiver-for-volume-up-button)

    There is no broadcast for volume up or down button presently. You can implement a service that will listen for any changes in the volume but it is not recommended to run a service all the time since that consumes both battery and memory.

    The only solution that I can think of is using ContentObservers for listening to the changes in the settings such as volume of streams. This answer here will provide you with the code to use ContentObserver to listen for volume up or down. http://stackoverflow.com/a/7017516/1979347

    이어폰의 미디어 버튼을 감지할 수 있는 Broadcast는 있지만, 볼륨버튼 감지는 없어서 대부분 기존 볼륨값을 저장하고, 볼륨이 변경되면 기존 값과 비교하는 코드는 몇번 볼 수 있었습니다.

    윗 댓글은 문맥상 이어폰이 아닌 하드웨어 볼륨 버튼으로 추정합니다.
    하드웨어 볼륨 버튼이랑 이어폰 볼륨 버튼이랑 상관할 필요가 없다고 생각하지만(마켓에서 텍뷰 어플 설치하시고 테스트 해보시면 됩니다. 이 앱은 볼륨버튼으로 다음 화면 넘어가기 기능이 있는데 하드웨어 볼륨버튼이랑 이어폰 볼륨 버튼이랑 모두 기능이 같습니다.) 한번 정확히 확인할 필요가 있고,
    이어폰을 끼웠을때 볼륨 버튼만 작동하게 하는 조건을 추가해야 할 듯 합니다.

    댓글 쓰고 다시 생각해보니까 텍뷰 어플이 앱 실행시에 볼륨 버튼을 감지해서 화면 넘기는 기능이 지금 질문자분의 상황에 딱 맞는 기능이라 생각합니다.
    이 앱 개발자분께 연락을 취해보시거나, 앱을 뜯어서 코드를 분석해보시는 것도 좋은 방법이라고 생각합니다.


    예전에는 어렵거나 말로하기 힘든 예제는 코드를 만들어서 포스팅 했지만 올해 제가 다시 수능 준비를 하고 있어 시간 여유가 부족하여 코드를 살펴드릴 수 없다는 점 이해해주시면 감사드리겠습니다!
    2017.03.28 16:21 신고
  • 비밀댓글입니다 2017.03.27 21:27
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 1. http://stackoverflow.com/questions/10154118/listen-to-volume-buttons-in-background-service
    오래전에 즐겨찾기 해둔 주소라 최근 안드로이드 버전에도 적용 가능한지 여부를 테스트하지는 못했습니다.
    저 링크 내용이 신기해서 그냥 즐겨찾기 한거고 실제 작동 여부를 확인하지는 않아서 링크를 참고해보시고 만약 작동이 안된다면 구글에 관련 키워드로 검색해보시면 많은 해외 포럼의 글을 발견하실 수 있으실겁니다.

    참고로 이어폰 버튼을 이용하는 안드로이드 어플은 대표적으로 Headset Button Controller가 있습니다. 볼륨버튼을 사용하지는 않았던 것으로 기억하지만, 한번 살펴볼 가치가 있다고 생각합니다.

    2. 안드로이드 버전에 따라 코드 결과가 달라질 수 있습니다.(대표적으로 외장 sd 접근 여부 등.)
    요즘 스마트폰은 대부분이 JB이상이므로 JB나 ICS를 생각하지 않으셔도 될 듯 합니다.
    대표적인 원인으로는 최신 버전 안드로이드에서 추가된 API를 사용하는정도?(Android Develop Reference에서 사용한 API의 설명에 added api관련 정보를 확인하면 됩니다)만 생각 나네요..
    원래 구버전에서 잘되던 앱이 최신버전에서 안되는 경우가 흔하고 제가 그 반대는 아직 경험한 적이 없어서 그렇습니다.
    2017.03.28 01:45 신고
  • 비밀댓글입니다 2017.03.22 03:06
  • Favicon of http://itmir.tistory.com Mir(whdghks913) 이어폰의 버튼이 눌려진 액션을 BroadcastReceiver로 받으신 다음, 각 버튼에 따라 전화걸기를 코딩하시면 됩니다.
    만약 윗 문장이 잘 와닿지 않으시면 http://itmir.tistory.com/424 이 글을 참고해주세요.

    전화 관련 안드로이드 intent 링크 : http://dotndotteam.blogspot.kr/2013/12/android-or-dial-or-call.html?m=1

    헤드셋 버튼 관련 링크 : http://stackoverflow.com/questions/6287116/android-registering-a-headset-button-click-with-broadcastreceiver

    전화번호가 고정되어 있지 않고 사용자가 수정 할 수 있다면 제 글중 Preference에 대해 설명한 글을 참고하시면 됩니다.
    2017.03.22 15:09 신고