SEND インテントを使用して、textview に現在表示されているテキストをテキスト ファイル (.txt) として送信して、ユーザーが Bluetooth を使用するか、メールとして添付してファイルを送信できるようにします。
私が書いた機能は次のとおりです。
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 インテントに渡して、Bluetooth 経由でこのファイルを送信するか、ファイルが自動的に添付される電子メールを送信するオプションをユーザーに提供することです。 gmail への添付、その他多くのオプションなど
ファイルの削除機能を呼び出さない限り機能します(ファイルが添付される前、またはBluetooth経由で送信される前にファイルが削除されます)。このファイルは不必要に占有されているため、削除できるようにしたい収納スペース。
可能であれば、コード サンプルを使用してこの問題を解決するための正しいアプローチを教えてください。