前言
简单记录一下FileProvider分享的Uri转出文件。
流水账而已,可以跳过。
正文
之前我们使用FileProvider分享的Uri格式如下:
content://com.biumall.file2.fileProvider/root/storage/udisk2/m4a/%E5%87%89%E5%87%89m4a.m4a
直接上代码
Uri uri = intent.getData() if (null != uri) { String path = uri.getPath(); String name = getPathName(path); try { @SuppressLint("Recycle") InputStream inputStream = getContentResolver().openInputStream(uri); byte[] buffer = new byte[inputStream.available()]; inputStream.read(buffer); File targetFile = new File(getFilesDir().getPath() + "/" + name); OutputStream outStream = new FileOutputStream(targetFile); outStream.write(buffer); outStream.flush(); } catch (IOException e) { e.printStackTrace(); } }
获取文件名getPathName()
/** * 获取文件名 **/ public String getPathName(String path) { String name = null; try { if (!TextUtils.isEmpty(path)) { int iStart = path.lastIndexOf('/'); if (iStart != 0 && iStart < path.length()) { iStart++; } name = path.substring(iStart); } } catch (Exception e) { e.printStackTrace(); } return name; }
参考文章
历史上的今天
暂无评论...
随机推荐
Android WindowManager弹窗容易出现的问题
WindowManager弹窗提示时需要注意下,比如系统应用和非系统应用权限的不同、Android不同版本的权限申请不同等,下面是我在应用中出现的问题,因此整理一下。问题一:没有设置android.permission.SYSTEM_ALERT_WINDOW出现异常提示Unable to a...
个人常用的ListView方法简介
前言项目中ListView还是比较常用的,ListView有些方法或者配置属性都是比较常用也比较容易忘记的。因此,今天抽空整(抄)理(袭)一下,以便查阅。PS: 现在RecyclerView比较多了好记性不如烂笔头正文停止滚动 private void stopListView...
[摘]final、finally与finalize的区别
final在Java中final可以用来修饰类,方法和变量(成员变量和局部变量)。修饰类当用final修饰类时,表示该类不能被其他类继承。同时,final修饰的类中的方法和都会隐式的定义为final 方法。修饰方法final修饰的方法表示不能被重写。注意:若父类中final方法的访问...
朱湘:海外寄霓君(节选)
一霓妹,我的爱妻:你从般若庵十二月初五写的“第一封”信我收到了。我后天就要搬家,你的信可以寄到憩轩四兄第一次替你打的信封那里。我在芝加哥城里过得好些,身体也好,望你不要记挂。我到今天总共收到你八封信。你信内并不曾提到岳母大人同憩轩四兄的病,想必是都好了。你的奶水不够,务必要请奶妈子。照我如今这般...
音视频学习:AudioRecord的简单使用
前言相关文章摘抄过,但由于不是自己写的或者敲过代码,后面就忘了。本站主要简单的介绍AudioRecord的使用。好记性不如烂笔头正文Android录音的流程:构造一个AudioRecord对象,其中需要的最小录音缓存buffer大小可以通过getMinBufferSize方法得到。...
[转]android NTP时间同步
推荐使用 极客导航:极客导航(http://www.biumall.com/jike.html)相关文件:frameworks/base/services/java/com/android/server/SystemServer.javaframeworks/base/service...