我没遇到什么问题。我正在刷新我的 SD 卡:
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 .
关于android - 如何检查 sendBroadcast 是否完成了他的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795475/