[英]what is the best way to write a file with data using Android Storage Access Framework?
我想使用 Android Storage Access Framework 编写一个包含数据的文件,但我遇到了一些问题。 在下面的代码中,我可以创建一个文件,但该文件是空白的。
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.setType("application/vnd.ms-excel");
intent.putExtra(Intent.EXTRA_TITLE,DATABASE_NAME+"_"+AppUtils.getCurrentDate()+".xls");
startActivityForResult(intent,CREATE_FILE);
如果我使用下面的代码,那么我可以获得从onActivityResult
抛出Uri
的写入权限
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/vnd.ms-excel");
startActivityForResult(intent,WRITE_FILE);
它使我的应用程序较少用户友好,因为用户必须先创建一个文件,然后他们必须再次选择它以在其上写入数据。 我期待直接创建文件并将其写入 Android 存储访问框架。 有什么好的方法可以做到这一点。 请帮忙。
嗨兄弟不要通过搜索以前的权限等方式浪费时间。 在 SDK 29 之后,Google 更改了外部文件存储访问的策略。现在 SAF 意图和 onActivityResult 的独特方式正如你和 ian 所写。 更多细节https://github.com/emozgun/delphi-android-SAF
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.