扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了android6.0以上不能读取外部存储权限怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司服务项目包括宁阳网站建设、宁阳网站制作、宁阳网页制作以及宁阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宁阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宁阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
通过内容提供者获取手机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以上不能读取外部存储权限怎么办”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流