我有一个显示,播放和删除视频的应用程序。我想知道如何在媒体扫描器运行时暂停当前线程或进行处理。大约需要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