2014-09-15 1 views
0

나는 최근에 내 머리카락의 반을 뽑아내는 무언가를 만났습니다.안드로이드 - AudioManager를 사용할 때 유용한 것

나는 audioManager에 액세스하고이 같은 새로운 모드로 설정하는 것을 시도했다 : 그 시간에, 내가 audioManager 새로운 모드를 설정하기를 거부 이해 didnt가 어떤 이유로으로

mAudioManager.setMode(AudioManager.MODE_NORMAL); 

합니다.

디버깅을하고 슬리브에 있던 모든 것을 시도한 후에 만 ​​애플리케이션의 다른 부분에서 오디오 관리자에 액세스하지만 Activity 컨텍스트가 있고 응용 프로그램 컨텍스트가 아니라는 것을 발견했습니다. 그것은 내가 전에 사용했던 것입니다.

AudioManager를 가져올 때 새로운 컨텍스트가 할당 된 다른 컨텍스트에서 해당 컨텍스트로의 액세스를 "도용"하는 것으로 보입니다.

답안에서 해결 방법을 찾을 수 있습니다.

이 도움이 되었다면 누가 나를 영감을 주었던 this에 투표 해보십시오.

+1

질문에 대한 답변에는 아무런 문제가 없지만 실제 대답은 답변으로 작성하십시오. 현재 상태에서 귀하의 질문은 검토 과정에서 생존하지 못할 것입니다. 투표 만하면 닫힙니다. 정보를 얻으려면 적절한 질문과 대답을 모두 작성하십시오. –

+1

주요 포인트는 지식을 공유했지만 점수를 얻지는 않았지만 할 것입니다. – gor

+0

예, 그렇다고해서 잘못된 점은 없지만 스택 오버플로에서 그런 식으로 지식을 공유 할 수는 없습니다. 내가 너에게 설명하려고 노력했듯이 : 적절한 질문과 대답을 모두 써야합니다. 그 중 하나만 받아 들일만한 것으로 간주되지 않으면이 질문은 결국 삭제됩니다. 그리고 btw : 답변이없는 모든 질문은 30 일 후에 자동으로 삭제됩니다. –

답변

0

음, AudioManager를 얻으려면 컨텍스트가 필요합니다. 이렇게 :

AudioManager am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 

항상 동일한 컨텍스트를 전달하는지 확인하십시오.

내 경우에는 내가 모두 응용 프로그램 및 활동 컨텍스트를 사용하는 것을 시도했다 사용에

, 그래서를 구현하는 한 가지 방법은 다음과 같이 당신의 활동 (또는 무엇도) 내에서 응용 프로그램을 호출하는 것입니다 :

AudioManager am = (AudioManager) getApplication().getSystemService(getApplication().AUDIO_SERVICE); 

희망이 나는이 바다에서 길을 잃은 사람들을 도왔다.

관련 문제