android6.0以上不能读取外部存储权限问题
2016-12-25 22:47
453 查看
通过内容提供者获取手机sdcard本地视频时,
/** * 从本地的sdcard得到数据 * //1.遍历sdcard,后缀名 * //2.从内容提供者里面获取视频 * //3.如果是6.0的系统,动态获取读取sdcard的权限 */ private void getDataFromLocal() { new Thread(){ @Override public void run() { super.run(); // isGrantExternalRW((Activity) context); // SystemClock.sleep(2000); mediaItems = new ArrayList<>(); ContentResolver resolver = context.getContentResolver(); Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; String[] objs = { MediaStore.Video.Media.DISPLAY_NAME,//视频文件在sdcard的名称 MediaStore.Video.Media.DURATION,//视频总时长 MediaStore.Video.Media.SIZE,//视频的文件大小 MediaStore.Video.Media.DATA,//视频的绝对地址 MediaStore.Video.Media.ARTIST,//歌曲的演唱者 }; Cursor cursor = resolver.query(uri, objs, null, null, null); if(cursor != null){ while (cursor.moveToNext()){ MediaItem mediaItem = new MediaItem(); mediaItems.add(mediaItem);//写在上面 String name = cursor.getString(0);//视频的名称 mediaItem.setName(name); long duration = cursor.getLong(1);//视频的时长 mediaItem.setDuration(duration); long size = cursor.getLong(2);//视频的文件大小 mediaItem.setSize(size); String data = cursor.getString(3);//视频的播放地址 mediaItem.setData(data); String artist = cursor.getString(4);//艺术家 mediaItem.setArtist(artist); } cursor.close(); } //Handler发消息 handler.sendEmptyMessage(10); } }.start(); } /** * 解决安卓6.0以上版本不能读取外部存储权限的问题 * @param activity * @return */ public static boolean isGrantExternalRW(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && activity.checkSelfPermission( Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { activity.requestPermissions(new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }, 1); return false; } return true; }
相关文章推荐
- 解决android6.0以上不能读取外部存储权限的问题
- Android工具之解决安卓6.0以上版本不能读取外部存储权限的问题
- 【Android】Android6.0及以上不能读取外部存储问题
- Android6.0没有权限读取外部存储的问题
- Android6.0没有权限读取外部存储的问题
- 关于android6.0以上不能读取sd卡信息问题
- android外部存储读写权限问题
- Android6.0运行时权限:处理定位和存储问题
- Android6.0以上权限获取权限的问题
- android6.0以上的权限问题
- android6.0以上授权申请拒绝引起的崩溃(魅族mx6,魅蓝note6)和Android6.0以下oppo系列手机拒绝权限引起的崩溃问题的终极解决方案
- 关于Android6.0(23以上)版本权限管理的问题
- Android6.0极其以上系统获取Dangerous系统权限问题及其解决方案
- 适配Android 7.0出现读取外部存储问题解决方法
- android6.0及以上,写入数据到手机内存请求储存权限问题
- 关于Android6.0以上动态获取运行时权限、及无法正常运行百度地图API的问题
- Android6.0以上权限管理问题(权限被拒绝后)
- android6.0以上动态申请权限问题。
- Windows 不能加载本地存储的配置文件。此问题的可能原因是安全权限不足或本地配置
- 关于Android6.0以上系统的权限问题