我想使用SEND意图将文本视图中当前显示的任何文本作为文本文件(.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
}
此代码的作用是创建一个新文件,将textview中的文本附加到该文件,然后将此文件传递给ACTION_SEND intent,使用户可以选择通过蓝牙发送此文件或发送文件中的文件附加自动附加到gmail,许多其他选项等。
只要我不调用文件上的删除功能(导致文件在连接之前被删除或通过蓝牙发送),它就可以工作。我希望能够删除这个文件,因为它是不必要地占用存储空间。
如果可能,请告诉我使用代码示例解决此问题的正确方法是什么。
答案 0 :(得分:0)
为什么不使用相同的文件(Temp文件)而不删除它,这样就不会占用存储空间。