码迷,mamicode.com
首页 > 移动开发 > 详细

Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播

时间:2014-05-05 12:51:41      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:android   style   class   blog   code   ext   

通常在我们的项目中,可能会遇到写本地文件,最常用的就是图片文件,在这之后需要通知系统重新扫描SD卡,
在Android4.4之前也就是以发送一个Action为“Intent.ACTION_MEDIA_MOUNTED”的广播通知执行扫描。如下:

this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));  
但在Android4.4中,则会抛出以下异常:

W/ActivityManager(  498): Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=2269, uid=20016
那是因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡。

解决方式:
使用MediaScannerConnection执行具体文件或文件夹进行扫描。

MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getPath() + "/" + fileName}, null, null);

转载:http://blog.csdn.net/sgz_china/article/details/24657709

Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播,布布扣,bubuko.com

Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播

标签:android   style   class   blog   code   ext   

原文地址:http://www.cnblogs.com/geder/p/3705927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!