내 응용 프로그램의 일부 오류 보고서에서이 java.lang.IllegalStateException: not connected to MediaScannerService
예외가 발생합니다.Android의 미디어 라이브러리에 파일을 추가 할 때 "java.lang.IllegalStateException : MediaTannerService에 연결되지 않았습니다."
그들은 너무 많지는 않지만 내 전화/에뮬레이터에서 문제없이 작동하기 때문에 내 코드에서 무엇이 잘못되었는지 알지 못합니다.
public static void scanMedia(Context context, final File[] file, final String[] mime) {
msc = new MediaScannerConnection(context, new MediaScannerConnectionClient() {
public void onScanCompleted(String path, Uri uri) {
Utils.logger("d", "Scanned " + path + ":", DEBUG_TAG);
Utils.logger("d", "-> uri: " + uri, DEBUG_TAG);
msc.disconnect();
}
public void onMediaScannerConnected() {
for (int i = 0; i < file.length; i++) {
msc.scanFile(file[i].getAbsolutePath(), mime[i]);
}
}
});
msc.connect();
}
내 전화 :
Utils.scanMedia(getApplicationContext(),
new File[] {myVideo},
new String[] {"video/*"});
또는
Utils.scanMedia(getApplicationContext(),
new File[] {myOtherVideo, myAudio},
new String[] {"video/*", "audio/*"});`
나는 방법
How to get and set (change) ID3 tag (metadata) of audio files?
에서 SO 질문/대답에서 적응 MediaScanner를 호출하는 방법을 사용하고 있습니다
어떻게 이러한 예외를 피할 수 있습니까?
당신은 전적으로 록, 내 친구 ... 그리고'예'나는 당연히 당기는 요청을 좋아할 것입니다. ;) – dentex
Wolfram의 블로그에서 제공하는 솔루션 : http://www.grokkingandroid.com/adding-files-to-androids-media-library-using-the-mediascanner/ – dentex
ytdownloader의 출처에 대한 링크 및 의견을 보내 주셔서 감사합니다! –