在安卓设备上,你可以通过使用Intent
来附加文件到电子邮件应用程序,并在发送完成后删除文件。以下是一个示例代码:
private void attachFileToEmail(String filePath) {
File file = new File(filePath);
Uri fileUri = FileProvider.getUriForFile(
this,
"com.example.myapp.fileprovider",
file
);
Intent emailIntent = new Intent(Intent.ACTION_SEND);
emailIntent.setType("text/plain");
emailIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
// 在发送完成后删除文件
startActivityForResult(emailIntent, 1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
File file = new File(filePath);
if (file.exists()) {
file.delete();
}
}
}
请注意,上述代码中的com.example.myapp.fileprovider
是你在AndroidManifest.xml
中定义的FileProvider
的授权代码。确保在你的应用程序中正确设置FileProvider
。
此代码通过Intent.ACTION_SEND
创建一个发送邮件的意图,并通过putExtra()
方法添加文件的Uri
作为附件。然后,通过startActivityForResult()
启动邮件应用程序。
当邮件发送完成后,系统将调用onActivityResult()
方法。在这里,我们可以检查文件是否存在并删除它。请确保在Activity中定义filePath
变量,以便在onActivityResult()
中使用它。
请注意,根据你的需求,你可能需要使用其他的文件类型和Intent
相关的标志来适应你的具体情况。