我使用此代码共享一个zip文件(fzip):
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fzip));
sendIntent.putExtra("myfilename", fzip.getPath());
sendIntent.setType("application/zip");
startActivityForResult(sendIntent, 1);
共享文件后(复制,添加到Dropbox,...)我想删除原始zip文件,因为它不再有用。
我尝试使用它:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// Check which request we're responding to
if (requestCode == 1) {
String myname=data.getStringExtra("myfilename");
Toast.makeText(getApplicationContext(), "created file:" + myname , Toast.LENGTH_SHORT).show();
}
}
以便在我获得文件名后,由于文件已被共享,我可以将其删除。
压缩zip文件应该按原样复制。但应用程序崩溃了。我该怎么办?
答案 0 :(得分:0)
首先,ACTION_SEND
未与startActivityForResult()
一起使用,因为它不会返回结果。
其次,您的额外信息不在传递给Intent
的{{1}}上,因为它们是单独的onActivityResult()
个对象。
第三,仅仅因为控制权归还给你并不意味着其他应用程序已经完成了你的文件。您无法知道其他应用程序何时完成该文件。我建议等待24小时然后删除它。