0

我想使用 SEND 意图将当前在 textview 上显示的任何文本作为文本文件(.txt)发送,以便用户可以使用蓝牙或将其作为电子邮件附加来发送文件。

我写的功能是:

 public void send() throws IOException
    {
           myFile = new File(Environment.getExternalStorageDirectory().getPath()+"/"+programname+".txt");
           myFile.createNewFile();
           FileOutputStream fOut = new FileOutputStream(myFile);
           OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);
           myOutWriter.append(textView.getText());
           myOutWriter.close();
           fOut.close();
           Intent intent = new Intent();  
           intent.setAction(Intent.ACTION_SEND);  
           intent.setType("text/plain");
           intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(myFile) );  
           startActivity(intent);
           //myFile.delete();
           //Note that I have commented the last line to prevent file from being deleted
     }

这段代码的作用是创建一个新文件,将文本视图中的文本附加到它,然后将此文件传递给 ACTION_SEND 意图,使用户可以选择通过蓝牙发送此文件或发送电子邮件,文件自动附加附加到 gmail,许多其他选项等。

只要我不对文件调用删除函数(这会导致文件在附加或通过蓝牙发送之前被删除),它就可以工作。我希望能够删除这个文件,因为它不必要地占用储存空间。

如果可能的话,请告诉我用代码示例解决这个问题的正确方法是什么。

4

1 回答 1

0

为什么不使用相同的文件(临时文件)而不删除它,这样你不占用存储空间。

于 2013-07-04T21:36:19.397 回答