我想将文件保存在SD卡文件夹中.
我不能在我的项目上使用V4支持.
所以我打电话给:
Intent itent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
itent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
itent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(itent, requestCodeTree);
Run Code Online (Sandbox Code Playgroud)
然后在onActivityResult上,我有:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode == RESULT_OK) {
switch(requestCode) {
case requestCodeTree:
saveFile(intent.getData());
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
而saveFile的代码是:
private void saveFile(Uri data) {
ContentResolver contentResolver = context.getContentResolver();
InputStream in = null;
OutputStream out = null;
try {
// Problems start here ************************
Uri toUriFile= getUriBackupFile(context, data);
// ********************************************
if (toUriFile==null) {
Uri toUriFolder = DocumentsContract.buildDocumentUriUsingTree(data, DocumentsContract.getTreeDocumentId(data));
toUriFile …Run Code Online (Sandbox Code Playgroud)