android - 如何在android的SQLiftDatabase中保存树Uri
问题描述
我从这段代码中得到了一个树 Uri:
create_data_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
//Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
//intent.setType("*/*");
startActivityForResult(intent, 1);
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
int takeFlags = data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
folder_uri=data.getData();
getContentResolver().takePersistableUriPermission(folder_uri,takeFlags);
}
然后我将树 Uri 作为字符串保存到 SQLDatabase:
folder_uri.toString()
然后我从数据库中获取一个字符串,并在下次想使用树 Uri 时从此代码中获取一个 Uri:
tree_uri=Uri.parse(string);
但是当我使用它时它是一个无效的 URI。那么我应该怎么做才能使 tree_uri 不无效?
解决方案
推荐阅读
- r - R中的数据框操作
- strapi - 如何通过strapi中的“文件上传”页面增加要加载的最大文件大小?
- latex - 为方程式 LaTex 创建环境
- php - 在 laravel 中存储来自 foreach 循环的数组
- python-3.x - 将值传递给按钮单击事件
- kotlin - 尝试将 Kotlin 实体化类型参数与库类一起使用
- apache-zookeeper - zookeeper:线程“main”中的异常 java.lang.NoClassDefFoundError:org/apache/jute/InputArchive
- laravel - 为什么 laravel 审计不起作用?
- python - 使用 Python Azure CLI 将管道变量发送到 popen 命令
- python - 如何在 VBA Excel 中检测 shell 脚本的执行结束?