如何检查sendBroadcast是否完成了他的工作

时间:2012-03-20 21:44:49

标签: android

我没有遇到什么问题。我正在刷新我的SD卡:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 

并且我创建了ProgressDialog,其中一个微调器在开始时弹出(“在开始时” - 我的意思是在sendBroadcast方法之后),并且在成功刷新之后我想解雇它,但我没有想法如何检查MediaScanner完成了他的工作。我尝试使用BroadcastReciversendStickyOrderedBroadcast(...),但似乎这是错误的想法......

我无法使用MediaScannerConnectionOnScanCompletedListener()因为我没有文件的直接路径(在某些情况下,它不存在)。 有谁知道如何解决我的问题?我已经没有想法了

1 个答案:

答案 0 :(得分:1)

发送广播时,您无法期待结果。 你获得一个的唯一方法是接收者(在这种情况下是接收ACTION_MEDIA_MOUNTED广播的MediaScannerService)发送自己的广播,并在“作业”上发布更新。

您应该能够捕获ACTION_MEDIA_SCANNER_FINISHED以了解当前情况,但是如果您想要更多控制(即扫描特定文件或扫描进度),您可以实施MediaScannerConnectionClient