我可以用此代码将文本文件附加到电子邮件中 :
String fileName = "test.txt";
path = "file://" + Environment.getExternalStorageDirectory() + "/" + fileName;
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path));
startActivity(Intent.createChooser(sendIntent, "Email"));
然而,通过 gmail 发送的电子邮件如果有 < code> fileName=\" test#. txt" , 则不包含附件 。
我尝试用 URLEncoder 编码路径, 如下文所示, 但是这与“ text. txt ” 或“ text#. txt ” 无效 。
我可能漏掉了一些简单的东西, 但我应该如何将文件路径编码为特殊字符, 用于发送意向书?
String fileName = "test.txt";
// String fileName = "test#.txt";
String path = "file://" + Environment.getExternalStorageDirectory() + "/" + fileName;
String encPath = URLEncoder.encode(path);
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(encPath));
startActivity(Intent.createChooser(sendIntent, "Email"));