Android4.4中拒绝发送Intent.ACTION_MEDIA_MOUNTED扫描SD卡的广播 - Geder
2015-12-28 22:35
507 查看
当在Android4.4上进行图片的扫描功能开发时一般会使用:sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory()+ picPath)));的广播
因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡,所以会抛题目异常。
解决方法:使用MediaScannerConnection执行具体文件或文件夹进行扫描,核心代码如下:
因为Android4.4中限制了系统应用才有权限使用广播通知系统扫描SD卡,所以会抛题目异常。
解决方法:使用MediaScannerConnection执行具体文件或文件夹进行扫描,核心代码如下:
try{ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Intent mediaScanIntent = new Intent( Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri contentUri = Uri.fromFile(Environment.getExternalStorageDirectory()); //指定SD卡路径 mediaScanIntent.setData(contentUri); sendBroadcast(mediaScanIntent); } else { sendBroadcast(new Intent( Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()))); } } catch(Exception e) { e.getMessage(); } }
相关文章推荐
- Android-Selector实现EditText点击转变风格
- Android中Activity之间数据传递及返回
- Android基础_子控件和父控件之间的焦点
- 查看android源码版本号
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Android 输入限制
- 自定义布局,堆叠布局来袭!
- Android学习笔记(1)--关于activity的生命周期和启动模式
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- Android中的图片(drawable目录;drawable和mipmap的区别)
- Android Fragment 真正的完全解析(上)
- 将Gradle项目导入ADT的方法
- 【android_温故知新】使用 Intent 和 IntentFilter 进行通信
- 通过硬件层提高Android动画的性能
- Android图形显示系统——概述
- Android开发MVC思想的应用
- Android开发之多线程编程Thread和Runnable使用
- 事件分发 细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
- android之旅14 Activity横竖屏生命周期
- android131 360 01 闪屏页和主页面