MediaScanner에 문제가 있습니다. 내가이 코드를 하나의 파일을 스캔하는 데 사용 :MediaScanner, onScanCompleted가 호출되지 않았습니다.
public class SingleMediaScanner implements MediaScannerConnectionClient {
private static final String TAG = "SingleMediaScanner";
public MediaScannerConnection mMs;
private String mFile;
public SingleMediaScanner(Context context, String s) {
mFile = s;
mMs = new MediaScannerConnection(context, this);
mMs.connect();
}
public void onMediaScannerConnected() {
Log.d(TAG, "MediaScanner conectado");
mMs.scanFile(mFile, null);
}
public void onScanCompleted(String path, Uri uri) {
Log.d(TAG, "MediaScanner terminó de escanear");
mMs.disconnect();
}
}
내가 활동 (에서 onCreate)의 시작 부분에 파일을 스캔하는 경우, 그것은 완벽하게 작동합니다. 스캐너가 연결되고 파일을 스캔 한 다음 스캐너가 완료됩니다.
그러나 스캐너를 호출 한 다음 다른 활동으로 이동하면 onScanCompleted 메서드를 호출하지 않기 때문에 MediaScanner에서 메모리 누수가 발생합니다. 그리고 활동을 떠나기 전에 스캐너에 unbindService()를 사용하면 스캐너가 작동하지 않습니다 (파일이 갤러리 앱에 표시되지 않음).
활동을 종료 할 때 스캐너를 사용해야합니다. 내가 무엇을 할 수 있을지?
감사합니다. Wolfram! 좋은 대답 : D – Xithias