如何检查sendBroadcast是否已完成作业
问题描述:
我遇到了一些问题。我用我的清爽SD卡:如何检查sendBroadcast是否已完成作业
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
和我创建ProgressDialog
与在开始时弹出一个微调(“一开始” - sendBroadcast方法后,我的意思),并成功刷新后,我想解雇它,但我不知道如何检查MediaScanner
完成他的工作。我试着用BroadcastReciver
和sendStickyOrderedBroadcast(...)
,但它似乎是错误的想法......
我不能使用MediaScannerConnection
和OnScanCompletedListener()
,因为我没有对文件的直接路径(在某些情况下,它不存在)。 有没有人有任何想法如何解决我的问题?我已经用完了想法
答
当你发送广播时,你不能期待结果。 如果接收者(在这种情况下是捕获ACTION_MEDIA_MOUNTED广播的MediaScannerService)在“作业”上发送自己的广播并更新,唯一的办法就是获得一个。
对于您当前的情况,您应该能够捕获ACTION_MEDIA_SCANNER_FINISHED,但是如果您想要更多控制(即扫描特定文件或扫描进度),则可以实施MediaScannerConnectionClient。