繁体   English   中英

使用 Android 存储访问框架编写包含数据的文件的最佳方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM