onActivityResult的intent.getPath()没有给出正确的文件名我试图以这种方式获取一个文件:final Intent chooseFileIntent = new Intent(Intent.ACTION_GET_CONTENT);
String[] mimetypes = {"application/pdf"};
chooseFileIntent.setType("*/*");
chooseFileIntent.addCategory(Intent.CATEGORY_OPENABLE);
if (chooseFileIntent.resolveActivity(activity
.getApplicationContext().getPackageManager()) != null) {
chooseFileIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
activity.startActivityForResult(chooseFileIntent, Uploader.PDF);
}然后进去onActivityResult :@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);}根据许多线程,我应该从意图中获取文件名data.getData().getPath(),我期望的文件名是myfile.pdf相反,我得到了这个:/Document/acc=1;doc=28那该怎么办呢?谢谢你的帮助。
2 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
我正在取一个文件
根据许多线程,我应该使用data.getData().getPath()从意图中获取文件名。
那该怎么办呢?
ACTION_GET_CONTENT
. (更新2019-04-06
ACTION_GET_CONTENT
如果 getScheme()
.的. Uri
回报 file
,您的原始算法将起作用。 如果 getScheme()
.的. Uri
回报 content
,使用 DocumentFile.fromSingleUri()
若要创建一个 DocumentFile
,然后打电话 getName()
在这个问题上 DocumentFile
-这应该返回一个“显示名称”,用户应该可以识别该名称。
添加回答
举报
0/150
提交
取消