1
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)的開始掃描文件,它可以完美運行。掃描儀已連接,掃描文件,然後完成。
但是,如果我調用掃描器,然後轉到另一個活動,則MediaScanner將泄漏內存,因爲它不調用onScanCompleted方法。如果我在離開活動之前使用掃描儀使用unbindService(),則掃描儀不起作用(該文件不會出現在圖庫應用程序中)。
我需要在離開活動時使用掃描儀。我能做什麼?
非常感謝Wolfram!很好的答案:D – Xithias