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

Sti*_*igi 5 android

我遇到了一点问题。我正在使用以下命令刷新我的 SD 卡:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); 
Run Code Online (Sandbox Code Playgroud)

我创建了ProgressDialog一个在开始时弹出的微调器(“在开始时” - 我的意思是在 sendBroadcast 方法之后),并且在成功刷新后我想将其关闭,但我不知道如何检查是否MediaScanner完成了他的工作。我尝试使用BroadcastReciverand sendStickyOrderedBroadcast(...),但似乎这是错误的想法......

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

rof*_*son 2

当您发送广播时,您无法期待结果。您获得的唯一方法是接收器(在本例中是捕获 ACTION_MEDIA_MOUNTED 广播的 MediaScannerService)发送其自己的广播以及“作业”的更新。

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