2013-09-30 11 views
0

을 계속하는 데 실패합니다.웨이크 잠금 응용 프로그램은 내가 밖으로 화면 시간 또는 사용자가 화면을 차단하기 위해 전원 버튼을 누를 때 소리가 내 응용 프로그램에서 재생하려는

@Override 
public void onCreate(Bundle savedInstanceState) { 
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 
      "Wake lock"); 
    wl.acquire(); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.paint); 

} 

이것은 내 활동을위한 onCreate입니다. 이 아래 거기에 버튼 듣고 온 클릭 스위치 문을 클릭 할 수 있으며 단추를 클릭 할 때 소리를 재생합니다. 그것은 새로운 활동을 시작하지 않으며 단지 소리를냅니다. 사용자가 전원 버튼을 누르거나 화면이 꺼지면 소리가 멈추고 원하는 것은 아닙니다. 사용자가 화면을 잠 그거나 시간 초과가 발생하면 재생되도록하고 싶습니다. 또한 매니페스트를 다시 확인했고 적절한 승인을 받았습니다.

+0

이 서비스가 무엇 일반적이다. – Geobits

답변

0

아, 여분의 정보를 제공 주셔서 감사합니다. 화면이 꺼져있을 때 활동이 일시 중지됩니다 년부터 활동에서 사운드 재생을 수행하면, 적절한 방법이 아니다. 사운드 재생과 같은 백그라운드 작업을 위해서는 대신 서비스를 사용해야합니다. 다음은 안드로이드 서비스에 대한 시작점으로 튜토리얼입니다. http://www.vogella.com/articles/AndroidServices/article.html

서비스를 구현 한 후에는 시작할 때 잠자기를 해제하고 잠자기를 해제해야합니다(). 끝내라.

또한, 사운드 재생의 귀하의 경우에 당신은 "전경"서비스로 실행해야합니다. 이것은 Android가 사용자 상호 작용의 일부이기 때문에 일시 중지하거나 종료하지 않도록합니다. 또한 알림 서랍에 사용자가 활동을 종료 한 경우 해당 활동으로 돌아갈 수 있도록 목록을 작성합니다. 더 읽기 : http://developer.android.com/guide/components/services.html#Foreground

0

오디오 재생을 위해 AudioTrack 및 SoundPool을 사용하는 제 앱인, 게시 한 것과 동일한 방식으로 PARTIAL_WAKE_LOCK을 획득하며 화면이 꺼져있을 때 소리 출력을 유지하기에 충분합니다. 매니페스트 파일에 WAKE_LOCK 권한이 있음을 확인할 수 있습니까?

<uses-permission android:name="android.permission.WAKE_LOCK" /> 

그래도 도움이되지 않는다면 재생을 정확하게 수행하는 방법에 대해 자세히 알려주십시오. 그것은 서비스에서 왔습니까?

+0

코드를 조금 더 편집했습니다. 답장을 보내 주셔서 감사합니다. 또한 매니페스트를 확인하고 올바른 사용 권한을 사용하고 있습니다. – user2727048