天天看點

手機插上電腦,看不到新增的檔案的解決方案

把android手機插上電腦,有的時候會看不到你想看到的檔案,例如:new File産生的檔案,某些軟體下載下傳同步的檔案。

這讓人很惱火,在網上搜尋了一下,有幾個行之有效的方案:

1,重新開機手機----筆者測試通過

2,如果是外置SD卡,在“設定”->"存儲"裡,選擇解除安裝SD卡,然後再挂載----筆者寫這篇文章的時候,還沒有測試,晚上會進行測試并更新測試結果。

3,在“設定”->"存儲"裡,“内部存儲空間”這個欄目裡,有個一個重新整理的按鈕,點選它----筆者測試通過。

4,下載下傳一個軟體SDRescan,在插上電腦之前運作一下----筆者沒有測試,據一些網友回報是可行的,但是目前尚不支援android4.4。

5,如果你是連接配接上之後,所有檔案都看不見了,那麼,你需要檢視所有應用,找到“媒體存儲”這個應用(英文大概叫做MediaStorage,沒有嚴格的求證),檢查是否已經啟用。

      然後執行方案3。

有了上述的解決辦法,我們來讨論下這個問題的來龍去脈:

目前大家插上電腦,通常的連接配接方式都是MTP。一般在插上電腦的時候,手機的狀态欄可以供使用者選擇是以MTP(媒體裝置)方式連接配接還是以PTP(相機)。

通常在進行檔案操作的時候,大家會使用MTP,而MTP并非傳統的磁盤模式,因為手機存儲的速度沒有那麼快,是以google對MTP建立了一個緩存。

每次連接配接電腦其實都是讀取的緩存,如果手機上的檔案有更新卻沒有重新整理緩存,就會出問題。

我們目前讨論的就是上面這個現象造成的問題。

Google的一些開發者給出的方案是:在建立檔案的時候,添加一行代碼:

MediaScannerConnection.scanFile(this, new String[] { file.getAbsolutePath() }, null, null);

      

這個方法會重新整理緩存。參考:https://code.google.com/p/android/issues/detail?id=38282

但是這麼一來,其實是把問題推給了所有的android的應用了:你們的app代碼寫的有問題!

是以大家除了抱怨google之外,能做的就是想辦法來重新整理這個緩存。思路基本上是:

1,緩存是“媒體存儲”這個應用建立的

2,這個應用活着才能正常使用

3,讓他死,再活:a,重新開機,行之有效;b,停止掉再啟動這個應用,無效,沒有觸發重新整理;

4,手動刷:解除安裝裝置再重新挂載,對于外置sd卡是有效的,内置的操作簡單不了,有其他限制。

5,重新整理儲存設備,就是上面提到的方案3.

6,內建刷,做成應用來刷,就是上面提到的方案4;

7,自己來,有些開發者根據問題原理,寫了一個應用,也可以刷,源代碼在:https://github.com/Sarkie/mtpfix

      代碼是有效的,但是設計的不太好,可以進行優化,有精力、有條件的朋友可以優化一下。