我正在尝试将附件添加到我使用JavaMail发送的电子邮件中。我可以发送没有附件的电子邮件,但是当我尝试附加文件时出现错误。
03-28 18:07:36.735: E/SendMail(6703): null
03-28 18:07:36.735: E/SendMail(6703): java.lang.NullPointerException
03-28 18:07:36.735: E/SendMail(6703): at com.example.email.GMailSender.addAttachment(GMailSender.java:95)
03-28 18:07:36.735: E/SendMail(6703): at com.example.email.MainActivity$1$1.run(MainActivity.java:28)
这是我用来附加文件的方法。
public void addAttachment(String filename) throws Exception {
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(filename);
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);
_multipart.addBodyPart(messageBodyPart);
message.setContent(_multipart);
}
我在主要活动中称呼它。
sender.addAttachment("/storage/extSdCard/DCIM/Camera/Photo.jpg");
您认为文件的路径有问题,如果是这样,我怎样才能获得正确的路径。
答案 0 :(得分:0)
您尝试通过从外部存储中读取文件来附加文件。因此,请确保您在清单中拥有以下权限。
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" >