Android創建或刪除了文件,在電腦端查看的時候,卻沒有對應的變化,處理辦法


在Android應用中,碰到一個問題,在代碼中執行創建或者刪除某個文件后,在系統的文件管理器中能夠相應地看到文件的變化,但是插在電腦上查看的時候,卻看不到改文件的變化。同時,當創建文件后,在系統中的某些程序卻讀不到;而刪除文件后,某些程序卻仍然能夠讀到。
對於這個問題,我費了不少時間,后來找到了原因,和大家分享一下。
關鍵就在如下的notifySystemToScan()方法,其實就是通知系統創建或者刪除了某個文件,系統需要掃描sd卡,進行更新。這樣,就解決了上述描述的問題。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(filePath + "a.txt");
if (file.exists()) {
file.delete();
} else {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
    notifySystemToScan(filePath + "a.txt");
});

public static void notifySystemToScan(String filePath) {
    mLogUtils.info("filePth=" + filePath);
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File file = new File(filePath);

Uri uri = Uri.fromFile(file);
intent.setData(uri);
MyApplication.getApplication().sendBroadcast(intent);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM