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

我没有遇到什么问题.我使用以下内容刷新我的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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...