我有一個顯示,播放和刪除視頻的應用程序。我想知道如何在媒體掃描器運行時暫停當前線程或進行處理。大約需要4至7秒的媒體掃描儀如果我的理解是否正確,你只需要實現OnScanCompletedListener完成其活動..如何在媒體掃描器運行時暫停
任何建議
我有一個顯示,播放和刪除視頻的應用程序。我想知道如何在媒體掃描器運行時暫停當前線程或進行處理。大約需要4至7秒的媒體掃描儀如果我的理解是否正確,你只需要實現OnScanCompletedListener完成其活動..如何在媒體掃描器運行時暫停
任何建議
。
如果不是,請添加一些代碼來澄清您的問題。
你能告訴我如何使用它..我只是想在媒體掃描完成後執行一個操作..你能不能讓我看看如何使用OnScanCompletedListener .. – Farhan
所以,如果你想知道媒體掃描器何時完成,你必須註冊BroadcastReceiver,這將傾聽ACTION_MEDIA_SCANNER_FINISHED。 Here是很好的介紹,給出了對Intent,IntentFilter和BroadcastReceiver的很好的解釋。
我使用此代碼:)
while(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
System.out.println("wait sdcard mount.");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
幾件事情要在這裏提到。掃描時間取決於SD卡容量 - 如果您有16GB的媒體文件,掃描儀將無法在4 + 7秒內完成。究竟是什麼是如何平息當前線程或進程或如何確定媒體掃描程序是否正在運行? –
其實我只想在媒體掃描器完成媒體掃描後才執行一個動作.. – Farhan