微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐