2013-03-13 40 views
1

我有一个Share选项的应用程序。当用户点击它时,会创建一个共享的file,然后会显示一个chooser询问用户他想如何共享它(邮件,Skype,谷歌驱动器......)。一旦文件已被共享或取消选择器被取消,我想删除该文件,因为它不再需要。Android共享文件:我能知道文件何时被共享或选择器被取消吗?

我希望文件名具有当前日期,因此每次重写相同的文件都不是一个选项。有没有什么办法知道什么时候这个文件不再需要?

要共享的文件我用这个代码:

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
sharingIntent.setType("text/csv"); 
sharingIntent.putExtra(Intent.EXTRA_STREAM, csv); 
sharingIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
startActivity(Intent.createChooser(sharingIntent, getResources().getText(R.string.send_to))); 

谢谢!

+2

不知道这个问题,但是你是否尝试用'startActivityForResult'替换'startActivity'并检查'onActivityResult()'中的resultCode == RESULT_OK或resultCode == RESULT_CANCELED'?如果结果为“确定”,则可以删除该文件。如果结果是'CANCELLED',不要删除。我当然在猜测。 – 2013-03-13 12:08:40

+0

我正要说:“是的,我试过了,onResult不叫”。然后我看到我的LogCat中有一个过滤器,这就是为什么我的日志消息没有被看到 - 谢谢! – 2013-03-13 12:12:25

+0

没问题。如果它有帮助,很高兴我能帮上忙。 ;-) – 2013-03-13 12:13:26

回答

0

取代startActivity,选择器需要使用startActivityForResult开始。选择器在被取消或共享文件之前不会关闭,因此文件可以在onActivityResult中删除。