2011-11-22 70 views
0

我一直在努力的應用程序,其中包括使用設備相機。將圖像存入SD卡後,我想通過android的媒體數據庫獲取縮略圖。 因此,我必須啓動MediaScanner讓系統識別我的圖像,這是我做的。如何知道在MediaScanner之後數據庫更新何時完成?

但是,在MediaScannerConnectionClient finshed掃描,可以在這裏稱爲

 @Override 
     public void onScanCompleted(String path, Uri uri) { 

      if (mediaScanConn.isConnected()) { 
       mediaScanConn.disconnect(); 

      } 
     }` 

看來,數據庫更新不完成正確的方式後,大約需要800毫秒我的手機上完成的過程中,如何我可以知道數據庫何時完成更新嗎?請幫助我,這將是最好的,如果你會發布你的代碼,非常感謝!

回答

1

即使將圖片信息插入數據庫已完成(與掃描目錄相同),仍不能保證縮略圖創建也完成。創建縮略圖實際上是在不同的線程上運行,因爲有時需要一段時間才能從文件中提取/解碼縮略圖,特別是對於視頻文件。

當我檢查Android Camera應用程序源代碼時,它似乎並未等待將內容信息插入到數據庫時生成的縮略圖,而是在應用程序內執行縮略圖生成。這是因爲,如果用戶在MediaScanner仍在後臺運行時(剛剛啓動或掛載SD卡後)拍攝照片,它將被放置在隊列的末尾,這意味着需要時間您的圖像將被處理。

相關問題