问题:怎么令自己的Activity知道MediaScannerService服务运行完了?
或者:怎么令自己的Activity知道MediaScannerService是否正在运行?详细情况:我知道,在底层有一个MediaScannerService服务.可以通过广播机制,在启动它进行扫描工作.我用如下代码来启动它进行扫描:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+Environment.getExternalStorageDirectory())));经过查看日志,我的确看到它启动了.正在运行...估计过个15秒钟的样子finish.但是怎么令我自己的Activity知道这个服务运行完了?然后我在同contentResolver进行数据获取.
或者:怎么令自己的Activity知道MediaScannerService是否正在运行?详细情况:我知道,在底层有一个MediaScannerService服务.可以通过广播机制,在启动它进行扫描工作.我用如下代码来启动它进行扫描:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+Environment.getExternalStorageDirectory())));经过查看日志,我的确看到它启动了.正在运行...估计过个15秒钟的样子finish.但是怎么令我自己的Activity知道这个服务运行完了?然后我在同contentResolver进行数据获取.
解决方案 »
- android新手请教(已搜索过解决方法,但不管用)-eclipse中导入android项目出现乱码
- Android FM收音机开发问题
- 请教关于跨进程调用
- Android初学者求指教
- android1.6和2.1 获取联系人邮件地址和通信地址方法
- opengl es 问题(快解决了) 求帮忙
- android 建立文件的夹的路径问题 哪位大神帮新手看看
- Android 源码下载不下来,被墙了,有什么方法?
- 如何设置RelativeLayout布局中多个ImageView的前后关系?
- 【求助】android有类似于html的fieldset的布局控件吗?
- 发个小贴!共享点资料!无需下载分!
- android framework
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))
{
//扫描结束,把你的代码放这里
}
}
}