나는이 문제에 관해서 일을 찾고 있었고, SO와 다른 곳에서 나는 여기에 하나 이상의 적절한 해결책을 찾지 못했다.여러 활동에 걸친 Android backround 음악; 홈 버튼 누르기를 잡는 방법
내 앱 백그라운드에서 오디오 파일을 재생하고 싶습니다. 충분히 쉬워. 음악을 계속 유지하고 내 앱에서 활동 사이를 전환하는 동안 멈추거나 일시 중지하지 않기를 바랍니다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mp = MediaPlayer.create(MainActivity.this, R.raw.lostmexicancity);
mp.setLooping(true);
mp.start();
}
문제를 : 또한 매우 간단하고는에서 onCreate 방법이 일을하는 것만으로 달성? HOME 버튼을 누르면 음악이 멈추게됩니다.
사용자가 뒤로 버튼을 눌렀을 때 소리를 죽이는 것이 쉬운 것처럼 보입니다. 여기에 내가 가지고 있고 위대한 작품 :
public void onPause() {
if(this.isFinishing()){ //BACK was pressed from this activity
mp.stop();
}
super.onPause(); }
꽤 간단한 권리? 네. 복잡하지 않아. 하지만 홈 버튼을 누르지는 못합니다. 홈 버튼을 누르면 사용자가 더 이상 내 앱을 볼 수없는 동안에도 음악이 계속 재생됩니다. 수 시간이나 수 시간 동안 검색 할 때 나는 이것에 대한 간단한 해결책을 찾을 수 없었습니다.
내가해야 할 일이 없으며 사용자에게 위험한 것처럼 보이는 작업 가져 오기의 매니페스트 사용 권한 설정과 관련된 답변을 보았습니다. 게다가 그 해결책은 효과가 없었습니다. 나는 서비스를 사용하는 솔루션을 보았지만 홈 버튼은 이전처럼 음악을 재생하기 때문에 그 중 아무 것도 작동하지 않는다. 왜냐하면 거기에 붙잡을 방법이없는 것 같고 앱을 끝내지 않기 때문이다. 이 작업에 대해 서비스를 사용하라는 메시지가 여러 번 나올 때마다 여러 명이 들어오고 서비스가 적절한 용도가 아니라고 명시해야합니다.)
홈 버튼을 눌렀을 때 음악을 종료하는 유일한 방법 인 것처럼 보입니다. onPause 내에서 비 조건부 stop()을 사용하는 것이지만 활동을 의도와 바꿔서 좋지 않은 활동 사이에서 음악이 끝나기 때문에 호출되므로 좋지 않습니다.
배경 음악과 같은 대단히 일반적인 기능이이 하드이지만 필자와 동일한 문제가있는 게시물과 필자의 활동 내에서 음악을 죽일만한 적절한 답변 이외의 다른 답변은 없다고 상상해보십시오. 앱.
Google Play 스토어의 다른 모든 앱이 어떻게 수행하나요? 온라인에서도 명확한 답변이없는 것 같습니다. 내 말은, 각 onPause()로 음악을 멈추고 시작할 수는 있지만 처음부터 배경 오디오를 반복적으로 시작한다는 것은 말할 것도없고 오디오에서 프로답지 않은 틈을 만드는 것은 받아 들일 수없는 것입니다.
내가 여기에서 간과 할 부분이있을뿐입니다. 도움을 주신 모든 분들께 미리 감사드립니다.
특히 간단한 문제는 아닙니다. 내 경험에 따르면 "배경 음악"을 가진 대부분의 앱은 게임이며 여러 활동을 포함하지 않는 프레임 워크를 사용하여 작성됩니다. 또는 그들은 음악 플레이어이고, 그들은 구체적으로 배경에서 계속 연주하고 싶습니다. 나는 당신이 추구하는 행동으로 게임이 아닌 앱을 본 적이 없다고 말할 수 없다.하나의 충고는 음악 재생이 서비스가 아닌 서비스에 의해 관리되어야한다는 것입니다. 음악이 모든 활동에 걸쳐 있다면. – CommonsWare
다른 많은 게시물에서 이와 비슷한 서비스를 사용하는 것과 관련하여 내 개인이 요청한 내용은 인앱 음악과 같은 서비스에 서비스를 사용해서는 안된다는 사람들의 게시물이있었습니다. 아마도 나는 그 경고를 무시해야합니까? 서비스를 사용하더라도 서비스를 종료하기 위해 홈 버튼을 누르는 방법이 필요합니다. 서비스가 명시 적으로 끝나야하기 때문에 지금 불행히도 Im과 똑같은 상황에 처하게됩니다. – regomar