java - 如何等待 sendBroadcast 完成

标签 java android

我正在使用 sendBroadcast 进行媒体文件扫描。然后我需要等到完成sendBroadcast 之后。我如何在 Android 中执行此操作?

我知道我可以在这里使用简单的 while 逻辑,但我正在寻找更好的方法

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

// wait here till till do something completed

接收者

private BroadcastReceiver mediaScanner = new BroadcastReceiver(){

        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
                if (action.equals(Intent.ACTION_MEDIA_SCANNER_FINISHED)) {
                  // Do some thing here. 
                }
    }
}

最佳答案

你可以寻找Observable pattern在Java中,它符合您的意愿

关于java - 如何等待 sendBroadcast 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6013018/

相关文章:

java - Lucene 和多字段查询

java - 如何自定义 Spinner 使其向顶部打开?

Android:在 Eclipse 中重命名包

java - Android:下载文件代码不起作用

java - 使用 Spring MVC HandlerInterceptorAdapter 从 HttpServletResponse 记录响应正文 (HTML)

java - 在 Canvas 上绘图并刷新

javax.mail.SendFailedException,无法获取本地主机名

android - 使用 Ant 如何 dex 一个 jar 目录?

java - Android 编程新手,尝试创建导致登录屏幕的登录按钮。当我单击登录按钮时,应用程序显示 "stopped working"

android - 拆分关于 Jsoup 的结果