您的位置:首页 > 移动开发 > Android开发

Android扫描SDcard文件

2015-07-21 00:12 603 查看

通常在保存图片入图库时,想要达到及时查看保存图片的效果:

一般会通过intent的方法发送广播去扫描SD卡:

Intent intent = new Intent();

intent.setAction(Intent.ACTION_MEDIA_MOUNTED);

intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));

sendBroadcast(intent);

但是,会抛出异常:

07-21 00:15:27.469: W/System.err(7750): java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=7750, uid=10100

,由于Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡,

根据参考网上资料,自行测试通过扫描SDcard:

解决方法如下:、

1.在androidmanifest.xml中,添加权限:<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

2. 通过下列方式来扫面文件信息

//扫描单个文件

// MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory()+"/" + file.getName() }, null, null);

//扫描全部文件

MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory()+""}, null, null);

测试通过
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: