Senden-Dialog und eine weitere Frage

M

Murbertus

Neues Mitglied
0
Hallo!

Ich habe wieder mal eine Frage (genauer gesagt sogar 2).

1.) Meine App speichert auf Knopfdruck den Text einer Textbox auf dem Telefon unter /datadata/com.murbert.test/files/text.txt ab.

Code:
String sFilename = "saved.txt";
				String sWriteFile = sEncodedText;

				try 
				{
					java.io.FileOutputStream fos = openFileOutput(sFilename, Context.MODE_WORLD_READABLE);
					fos.write(sWriteFile.getBytes());
					fos.close();
catch
{
...

Wenn ich jetzt zum Beispielim Browser von Android einen Youtube-Link anklicke, werde ich ja gefragt, mit welcher anderen Applikation ich den Link öffnen kann (Browser oder Youtube). Wenn ich das gespeicherte File versenden möchte: wie erhalte ich den Dialog, mit welcher App der Text versendet werden soll (Mail, GMail, Google+,...)?

Nun möchte ich aber noch etwas: der User soll ein File (sollte testread.txt heißen) auf dem Rootverzeichnis des internen Speichers ablegen können und dann sollte die App dieses File einlesen und in eine weitere Textbox schreiben.

Wie gehe ich da vor?

Vielen Dank!
 
Moin,
du willst also ne Email verschicken?

Starte einfach einen ACTION_SEND Intent.
Beispiel:

Code:
Intent mailIntent = new Intent(Intent.ACTION_SEND);
mailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// ggf. Empfänger
mailIntent.putExtra(Intent.EXTRA_EMAIL,"e@mail.com");
// Betreff
mailIntent.putExtra(Intent.EXTRA_SUBJECT,"subject line");
// Body
mailIntent.putExtra(Intent.EXTRA_TEXT,"Body of email");
// Anhang
mailIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("Filename")));

startActivity(Intent.createChooser(mailIntent ,"Send mail..."));

MfG
 
  • Danke
Reaktionen: Murbertus
@Sentence: danke, das habe ich aber schon selbst gefunden. :) Ich will so einen 'Senden via...''Dialog. Das von the_alien hilft mir schon sehr weiter, danke!

Zum Thema Einlesen habe ich das gefunden:

Code:
 public String readFromFile(String filename) throws IOException
	{
      BufferedReader brRead = new BufferedReader(new FileReader(filename));

      String sTmp = null;
      String sResult = "";
      try 
      {
   	   while((sTmp = brRead.readLine()) != null)
   	   {
   		   sResult = sResult + sTmp;
   	   }
      } 
      catch (IOException e) 
      {
   	   e.printStackTrace();
      }

      brRead.close();
      return sResult;
	}

Der Code an sich ist logisch (habe ihn ein wenig modifiziert), aber wie bestimme ich, welches File eingelesen wird?
 
Was meinst du wofür die Variable "filename" da ist? ;)
 
  • Danke
Reaktionen: Murbertus
Murbertus schrieb:
@Sentence: danke, das habe ich aber schon selbst gefunden. :) Ich will so einen 'Senden via...''Dialog. Das von the_alien hilft mir schon sehr weiter, danke!
Wo ist der Unterschied zu meinem Code? Lässt du das EXTRA_EMAIL, SUBJECT und TEXT weg ist es genau das gleiche...

MfG
 
  • Danke
Reaktionen: Murbertus
@Sentence: bitte nicht falsch verstehen, das war kein Angriff meinerseits!! Du hast schon Recht, aber ich will einen Share-Dialog, nicht "nur" Mail.

@alien: Mist, manchemal sieht man den Wald vor lauter Bäumen nicht... :laugh:

Aber nur ("/sdcard/text.txt") wird zu wenig sein, da der Pfad doch nicht überall gleich ist, oder? Und was hat es mit File extStore = Environment.getExternalStorageDirectory(); auf sich? Bekomme ich da einen String zurück, der nur auf den öffentlichen Speicherbereich verweist und ich kann dann irgendwtwas anhängen (Verzeichnisse, also Unterordner,...)?
 
Murbertus schrieb:
Bekomme ich da einen String zurück, der nur auf den öffentlichen Speicherbereich verweist und ich kann dann irgendwtwas anhängen (Verzeichnisse, also Unterordner,...)?

Ja.
 
Danke, jetzt funktioniert alles, wie es soll. :)
 

Ähnliche Themen

H
Antworten
2
Aufrufe
1.307
Hcman
H
R
  • Gesperrt
  • roland-senior
Antworten
2
Aufrufe
796
Fulano
Fulano
M
Antworten
2
Aufrufe
626
Mozart40
M
Zurück
Oben Unten