我想从SD卡中删除文件邮件成功发送到Receiver之后。如何做到这一点?我在SO和Google上发现了很多。我也试过。我的代码是:
if(myFile.exists())
myFile.delete();
使用上面的代码我删除存储在SD卡中的文件,然后再发送到接收方。请有人帮我解决这个问题。谢谢你。
答案 0 :(得分:1)
您在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();
}
}
}
答案 1 :(得分:0)
答案 2 :(得分:0)
当您根据活动生命周期打开电子邮箱时,当您在活动中返回时,当前活动将继续onPause(),然后On Resume方法将调用,因此请在您的on Resume方法上写下打击代码。
protected void onResume(){
File file= new File(filepath);
if(file.exists())
{
file.delete();
}
super.onResume();
}
此处文件路径是外部存储路径或您要删除文件的位置。