MediaScanner扫描的疑问!!,mediascanner扫描
问题:怎么令自己的Activity知道MediaScannerService服务运行完了?或者:怎么令自己的Activity知道MediaScannerService是否正在运行?
详细情况:
我知道,在底层有一个MediaScannerService服务.可以通过广播机制,在启动它进行扫描工作.
我用如下代码来启动它进行扫描:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+Environment.getExternalStorageDirectory())));
经过查看日志,我的确看到它启动了.正在运行...估计过个15秒钟的样子finish.
但是怎么令我自己的Activity知道这个服务运行完了?
然后我在同contentResolver进行数据获取.
解决方案
public class ScanSdReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if (Intent.ACTION_MEDIA_SCANNER_STARTED.equals(action))
{
//开始扫描,把你的代码放这里
}
else if (Intent.ACTION_MEDIA_SCANNER_FINISHED.equals(action))
{
//扫描结束,把你的代码放这里
}
}
}
用户评论