小编Sim*_*mon的帖子

如何使用buildChildDocumentsUriUsingTree过滤查询结果

我想将文件保存在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)

android file save sd-card

6
推荐指数
1
解决办法
186
查看次数

标签 统计

android ×1

file ×1

save ×1

sd-card ×1