Sle*_*epz 6 android android-intent xamarin.android
我需要用户选择一个自定义文件类型的文件,该文件已从Windows文件浏览器拖到其android设备上,但是默认情况下内部存储选项不可用。
当我使用此方法启动意图时:
var libraryIntent = new Intent(Intent.ActionOpenDocument);
libraryIntent.SetType("application/*");
_activity.StartActivityForResult(libraryIntent, (int)ActivityRequestCode.ImportFeatureCodeLibrary);
Run Code Online (Sandbox Code Playgroud)
Android OS(5.1和6.0)显示以下屏幕:
用户必须知道转到右上角的按钮,然后选择显示内部文件存储的选项:
他们必须再次单击汉堡包,然后汉堡包才会显示在列表中:
有没有一种方法可以使该选项默认显示在列表中,或者甚至更好的方法是让用户放入“内部存储”文件选择器中?
您可以在上添加额外的内容intent:
libraryIntent.PutExtra("android.content.extra.SHOW_ADVANCED", true);
Run Code Online (Sandbox Code Playgroud)
据我所知,这是一个未记录的额外内容,但是它可以在API 19到至少26之间工作
请看一下该库 - Material File Picker
它允许使用 来显示具有指定路径的对话框.withPath(Environment.getExternalStorageDirectory().getAbsoluteFile())。
整个创建代码:
new MaterialFilePicker()
.withActivity(this)
.withRequestCode(1)
.withFilter(Pattern.compile(".*\\.txt$")) // Filtering files and directories by file name using regexp
.withFilterDirectories(true) // Set directories filterable (false by default)
.withHiddenFiles(true) // Show hidden files and folders
.withPath(Environment.getExternalStorageDirectory().getAbsoluteFile())
.start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
773 次 |
| 最近记录: |