안드로이드 개발 질문/답변
(글 수 45,052)
Ssok Player 개발자입니다.
외장 메모리의 특정 폴더안의 모든 음악재생파일목록을 불러올라면 어떻게 해야하나요?
지금 ssok이란 폴더안의 최상위에만 음악파일을 인식은 하지만
ssok폴더안에 또다른 폴더가 있으면 그 폴더안의 파일은 인식을 하지 못하고 있거든요 ㅎ
또한 제가 화면 켜짐을 유지하기위해
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
를 이용하고 있는데
메소드를 이것저것 뒤져보니 스크린 ON은 있어도 Screen Off가 없더군요 ㅠ
위의 코드를 실행하고 홈키를 눌러 Ssok player가 완전히 종료된 상태가 아니면
홈화면에서도 계속 화면이 켜져있더군요..
Resume()에 화면 켜짐을 유지하는걸 꺼주는 소스를 넣어주면
자연스럽게 홈키를 눌러 ssok Player를 종료해도 홈화면에서 화면켜짐이 유지되지 않을거 같은데...
방법이 없을까요? ㅎ
파워매니져인가도 알아봤는데.. 어떤메소드를 호출해야 화면켜짐이 멈추는지를 모르겠네요 ㅎ
2011.08.10 10:48:41
http://stackoverflow.com/questions/3059630/construct-mediastore-uri-for-specific-folder
예를 들어 SD카드에 "music"이라는 폴더 하위에 있는 모든 음악파일을 불러온다하면
String str = "/music/";
String[] projection = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Video.Media.SIZE };
musiccursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, projection,
android.provider.MediaStore.Audio.Media.DATA + " like ? ",
new String[] {"%"+str+"%"}, null);




http://developer.android.com/reference/android/os/PowerManager.html
페이지보시면 바로 예제 코드가 나옵니다. 그리고.. flags 값들의 설명도 나
onResume 에서 acquire 하고 onPause 에서 release 하시면 될거 같습니다.
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 이렇게 하셨다면
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 로 설정해제하셔도 되지 않을까 싶습니다.