我正在使用 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/