我想在邮件成功发送到 Receiver 后从 SD 卡中删除文件。如何执行此操作?我在 SO 和 Google 上发现了很多内容。我也试过了。我的代码如下:
if(myFile.exists())
myFile.delete();
使用上面的代码,我删除了存储在 SD 卡中的文件,然后将其发送到接收方。请有人帮我解决这个问题。在此先感谢。
我想在邮件成功发送到 Receiver 后从 SD 卡中删除文件。如何执行此操作?我在 SO 和 Google 上发现了很多内容。我也试过了。我的代码如下:
if(myFile.exists())
myFile.delete();
使用上面的代码,我删除了存储在 SD 卡中的文件,然后将其发送到接收方。请有人帮我解决这个问题。在此先感谢。
您在 收到邮件发送状态,所以从..onActivityResult
开始意图startActivityForResult
这是示例代码..
发邮件:
int EMAIL = 101;
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[]{});
emailIntent.putExtra(android.content.Intent.EXTRA_BCC,new String[]{});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
emailIntent.putExtra(android.content.Intent.EXTRA_STREAM, pngUri);
startActivityForResult(emailIntent,EMAIL);
发送结果:
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// TODO Auto-generated method stub
if(requestCode==EMAIL)
{
if(requestCode==EMAIL && resultCode==Activity.RESULT_OK)
{
if(myFile.exists())
myFile.delete();
Toast.makeText(mActivity, "Mail sent.", Toast.LENGTH_SHORT).show();
}
else if (requestCode==EMAIL && resultCode==Activity.RESULT_CANCELED)
{
Toast.makeText(mActivity, "Mail canceled.", Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(mActivity, "Please try again.", Toast.LENGTH_SHORT).show();
}
}
}
当您根据活动生命周期打开电子邮箱时,您当前的活动在 onPause() 上移动,当您返回活动时,将调用 On Resume 方法,因此在您的 on Resume 方法上编写打击代码。
受保护的无效 onResume() {
File file= new File(filepath);
if(file.exists())
{
file.delete();
}
super.onResume();
}
这里的文件路径是外部存储的路径或者你保存文件的位置,你想删除它。