我有一個應用程序可以在下載文件夾中創(chuàng)建一個文件這工作正常 - 它使用它來獲取文件路徑:File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);現(xiàn)在我正在嘗試將該文件附加到電子郵件中,我想我已經(jīng)接近了,但是我從 Gmail 收到一個錯誤,它無法附加該文件。我從更改file://為content://因為在此之前我無法克服另一個錯誤。try { final Intent emailIntent = new Intent(Intent.ACTION_SEND); emailIntent.setType("plain/text"); emailIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.email_subject)); URI = Uri.parse("content://" + exportFilePath); emailIntent.putExtra(Intent.EXTRA_STREAM, URI); emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.email_body)); emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); emailIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION); this.startActivity(Intent.createChooser(emailIntent, getString(R.string.action_export)));}catch (Throwable t) { Toast.makeText(this, "failed: " + t.toString(), Toast.LENGTH_LONG).show(); Log.e("URI: ", URI.toString());}“ exportFilePath”包含文件創(chuàng)建時的完整路徑。它看起來像這樣: /storage/emulated/0/Download/file.csv
1 回答

qq_笑_17
TA貢獻1818條經(jīng)驗 獲得超7個贊
Uri.parse("content://" + exportFilePath);
這不是您獲得content
Uri
. 用于FileProvider
提供Downloads
目錄的內(nèi)容,然后用于FileProvider.getUriForFile()
獲取content
Uri
該文件的 a。相當詳細的使用說明FileProvider
可以在它的 JavaDocs中找到。
添加回答
舉報
0/150
提交
取消