Android 如何管理所有版本中的所有本地存储(主存储、辅助存储、sd卡、usb)
简介 管理主存储文件+辅助存储文件(仅限本地): 我将列出我已经掌握的所有信息,并希望您对其进行扩展或更正,以便这个问题能够成为一个概述,总结开始使用本地存储之前必须了解的所有主要信息。我相信很多人都在寻找这样一个概览 概述 通常,您有以下存储:Android 如何管理所有版本中的所有本地存储(主存储、辅助存储、sd卡、usb),android,file,storage,storage-access-framework,documentfile,Android,File,Storage,Storage Access Framework,Documentfile,简介 管理主存储文件+辅助存储文件(仅限本地): 我将列出我已经掌握的所有信息,并希望您对其进行扩展或更正,以便这个问题能够成为一个概述,总结开始使用本地存储之前必须了解的所有主要信息。我相信很多人都在寻找这样一个概览 概述 通常,您有以下存储: 主存储器(始终可直接访问,主要在内部存储器上,但由手机制造商决定) 辅助存储器(android=5可直接访问) 问题1-部分已知✖ 问题2.1——未知✖ 问题2.2-已知✔ 问题2.3-已知✔ 问题3-已知✔ -------------------
- 主存储器(始终可直接访问,主要在内部存储器上,但由手机制造商决定)
- 辅助存储器(android=5可直接访问)
- 问题1-部分已知✖李>
- 问题2.1——未知✖李>
- 问题2.2-已知✔李>
- 问题2.3-已知✔李>
- 问题3-已知✔李>
Android在你被投票否决和被投票否决之前,你可能希望将其改写为Stack Overflow的问答格式(请参阅中的“我可以回答我自己的问题吗?”)。编辑问题并发布一个答案,显示我已经知道的内容。。。Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); context.startActivityForResult(intent, 1234);
public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1234) { if (resultCode == Activity.RESULT_OK) { // get uri Uri treeUri = data.getData(); // persist permissions final int takeFlags = data.getFlags() & (Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION); getContentResolver().takePersistableUriPermission(treeUri, takeFlags); // remember the uri for having access to the storage // ... } return true; } return false; }