Android共享文件:我能知道文件何时被共享或选择器被取消吗?
我有一个带有Android共享文件:我能知道文件何时被共享或选择器被取消吗?,android,share,Android,Share,我有一个带有共享选项的应用程序。当用户单击它时,将创建一个要共享的文件,然后显示一个选择器,询问用户希望如何共享它(邮件、skype、google drive…)。一旦文件被共享或选择器被取消,我想删除该文件,因为它不再需要 我希望文件名具有当前日期,因此每次都覆盖同一文件不是一个选项。有没有办法知道什么时候不再需要这个文件 要共享文件,我使用以下代码: Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
共享
选项的应用程序。当用户单击它时,将创建一个要共享的文件
,然后显示一个选择器
,询问用户希望如何共享它(邮件、skype、google drive…)。一旦文件被共享或选择器被取消,我想删除该文件,因为它不再需要
我希望文件名具有当前日期,因此每次都覆盖同一文件不是一个选项。有没有办法知道什么时候不再需要这个文件
要共享文件,我使用以下代码:
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)));
谢谢 需要使用
startActivityForResult
启动选择器,而不是startActivity
。选择器在取消或共享文件之前不会关闭,因此可以在活动结果中删除文件对此不确定,但是您是否尝试过用startActivityForResult
替换startActivity
,并检查onActivityResult()中的resultCode==RESULT\u OK
或resultCode==RESULT\u cancelled
?如果结果是OK
,则可以删除该文件。如果结果已取消
,则不要删除。我当然是在猜测。我正要说:“是的,我试过了,结果不叫onResult。”。然后我看到我的LogCat中有一个过滤器,这就是为什么我的日志消息没有被看到-谢谢!没问题。如果有帮助,我很高兴能帮上忙