第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

onActivityResult的intent.getPath()沒有給出正確的文件名

onActivityResult的intent.getPath()沒有給出正確的文件名

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);}根據(jù)許多線程,我應該從意圖中獲取文件名data.getData().getPath(),我期望的文件名是myfile.pdf相反,我得到了這個:/Document/acc=1;doc=28那該怎么辦呢?謝謝你的幫助。
查看完整描述

2 回答

?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

我正在取一個文件

不是用那個密碼。該代碼要求用戶選擇一段內(nèi)容。這可能是一個文件,也可能不是一個文件。

根據(jù)許多線程,我應該使用data.getData().getPath()從意圖中獲取文件名。

這從來都不是正確的,盡管它傾向于在較舊版本的Android上工作。

那該怎么辦呢?

那得看情況了。

如果希望只接受文件,請集成文件選擇器庫而不是使用ACTION_GET_CONTENT. (更新2019-04-06:由于AndroidQ禁止大多數(shù)文件系統(tǒng)訪問,此解決方案不再實用)

如果您愿意允許用戶使用ACTION_GET_CONTENT,請理解,它不必是文件,也不需要有類似文件名的東西。你能得到的最接近的:

  • 如果getScheme().的.Uri回報file,您的原始算法將起作用。

  • 如果getScheme().的.Uri回報content,使用DocumentFile.fromSingleUri()若要創(chuàng)建一個DocumentFile,然后打電話getName()在這個問題上DocumentFile-這應該返回一個“顯示名稱”,用戶應該可以識別該名稱。


查看完整回答
反對 回復 2019-07-11
?
慕田峪9158850

TA貢獻1794條經(jīng)驗 獲得超7個贊

你不需要。你打開一個InputStream所識別的內(nèi)容。UriDocumentFile,而你以這種方式消費內(nèi)容。

查看完整回答
反對 回復 2019-07-11
  • 2 回答
  • 0 關注
  • 1031 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號