2017-03-03 11 views
1

私は多くの方法を試みたが、私はこれを行うことはできません。どのように共有する* .txtファイルをアンドロイド

私は* .txtファイルを持っています。私はBluetooth , wifi , email and ...経由で共有したい。

File file = new File(Environment.getExternalStorageDirectory(), "Email-Ghap/Emails.txt"); 
     Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
     sharingIntent.setType("*/txt"); 
     sharingIntent.putExtra(Intent.EXTRA_STREAM, file); 
     startActivity(Intent.createChooser(sharingIntent, "share file with")); 

は完全に私はこれをしたい:ユーザーは、共有ボタンをクリックしたときと共有のための Gmailののように1つの電子メールの送信者を選択した私は、ファイルを共有カントこのコードを使用し

。ファイルには、新しい電子メールのファイルを添付しなければならない...

私は、このリンクにhttps://stackoverflow.com/a/16036249/4016922

を見つけました。しかし、それは、txtファイルの内容を共有します。私はtxtファイルの内容ではなくファイルを共有したいです

+0

のように見えるこのリンクを試してください:あなたは.TXT http://stackoverflow.com/questions/17985646/android-sharing-files-by-sending-them-viaで変更することができ 共有PDFファイルを-email-or-other-apps –

答えて

5

あなたのコードを変更してください。そう

sharingIntent.setType("text/*"); 

sharingIntent.setType("*/txt"); 

File file = new File(Environment.getExternalStorageDirectory() + "/" + "Email-Ghap/Emails.txt"); 

File file = new File(Environment.getExternalStorageDirectory(), "Email-Ghap/Emails.txt"); 

から

からyourFinalコードは

File file = new File(Environment.getExternalStorageDirectory().toString() + "/" + "abc.txt"); 
      Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
      sharingIntent.setType("text/*"); 
      sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getAbsolutePath())); 
      startActivity(Intent.createChooser(sharingIntent, "share file with")); 
+0

ありがとうございますが、これはファイルを送信できません。 Bluetoothと他の共有方法が表示されますが、送信するように選択すると何も起こりません。 –

+0

この 'File file = new File(Environment.getExternalStorageDirectory()+"/"+" Email-Ghap/Emails.txt ");'私は 'file'をログに出力します。その本当のアドレスではありません。私はパスを見つけるために私の方法は本当だと思います: 'File file = new File(Environment.getExternalStorageDirectory()、Email-Ghap/Emails.txt"); ' –

+0

実際には同じコードからファイルを送信できました。 –

関連する問題