我需要让用户从本地存储中为我的应用程序选择一个文件。现在我正在使用INTENT.ACTION_GET_CONTENT
让用户选择文件,但它也提供了从云中选择 URI 的选项。获取 URI 文件后,我将其视为本地文件并执行各种操作(包括提取文件扩展名)。如何让用户只选择本地文件?
else if(menuItem.getItemId() == R.id.action_import_from_file){
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType("*/*");
startActivityForResult(Intent.createChooser(i, "Pick a file"), REQUEST_CODE_SELECT_FILE_FOR_IMPORT);
}
请尝试使用意图.EXTRA_LOCAL_ONLY https://developer.android.com/reference/android/content/Intent.html#EXTRA_LOCAL_ONLY like
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
如果您设备中的图库应用程序支持,则只会显示本地存储中的文件。如果图库应用程序不支持上述意图,您可以在检查图库应用程序返回的文件路径的文件长度后向用户显示错误消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)