0

SharedPreferences からの電子メール アドレスを含む電子メールを送信したいと思います。ユーザーは SharedPreferences に電子メール アドレスを入力する必要があり、メッセージ インテントはこのアドレスを使用する必要があります。

現時点では、このコードを使用して、添付ファイルと修正アドレスを含む電子メールを送信します。誰か新しいコードを見せてくれませんか?

private final void mailNote() {
    Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND); 
    String aEmailList[] = { "Mailadresse@gmx.de" };
    messageIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList); 
    messageIntent.putExtra(Intent.EXTRA_TEXT, "eMail from APP");//eMail Text 
    messageIntent.putExtra(Intent.EXTRA_SUBJECT, "Info"); //Betreff 
    // get the data from the cursor using the column index indicatormessage
    Intent.setType("plain/text"); 
    messageIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/CEDApp/CEDApp_export.txt"));
    startActivity(Intent.createChooser(messageIntent, "Email:")); 
    Intent chooser = Intent.createChooser(messageIntent, "choose an option:");//Überschrift 
    // Send the note 
    startActivity(chooser); 
}

ドイツからよろしくお願いします、カッチェ

4

4 に答える 4

0

次のようにコードを更新しようとしました。

private final void mailNote() {
Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND);
messageIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

SharedPreferences settings = getPreferences(MODE_PRIVATE);
settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
settings.edit().putString("emailkey", "my@email.com").commit();

messageIntent.putExtra(android.content.Intent.EXTRA_EMAIL, eMailAdress); //<== ERROR

messageIntent.putExtra(Intent.EXTRA_TEXT, "eMail from CED-APP");//eMail Text
messageIntent.putExtra(Intent.EXTRA_SUBJECT, "CED-Info"); //Betreff
messageIntent.setType("plain/text");
messageIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/CEDApp/CEDApp_export.txt"));
startActivity(Intent.createChooser(messageIntent, "Email:"));
Intent chooser = Intent.createChooser(messageIntent, "choose an option:");//Überschrift
// Send the note
startActivity(chooser);
}

コメントのある行だと思います: ERROR is the problem or?

于 2013-10-28T20:32:01.163 に答える
0

ich bin Android-Anfänger und habe das jetzt so umgestellt jedoch funktioniert das nicht, sprich es wird keine eMailadresse aus der SharedPreferences mit übergeben.

private final void mailNote() { 
Intent messageIntent = new Intent(android.content.Intent.ACTION_SEND); 
messageIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 

SharedPreferences settings = getPreferences(MODE_PRIVATE); 
settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
eMailAdress = settings.getString("emailkey", ""); 
messageIntent.putExtra(android.content.Intent.EXTRA_EMAIL, eMailAdress); 

messageIntent.putExtra(Intent.EXTRA_TEXT, "eMail from CED-APP");//eMail Text 
messageIntent.putExtra(Intent.EXTRA_SUBJECT, "CED-Info"); //BetreffmessageIntent.setType("plain/text"); 
messageIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///mnt/sdcard/CEDApp/CEDApp_export.txt"));startActivity(Intent.createChooser(messageIntent, "Email:")); 
Intent chooser = Intent.createChooser(messageIntent, "choose an option:");//Überschrift 
// Send the note 
startActivity(chooser); 
}
于 2013-10-28T18:00:48.430 に答える
0

さて、SharedPreferences からデータを取得する前に、そこにデータを配置する必要もあります。

settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
settings.edit().putString("emailKey", "my@email.com").commit();
于 2013-10-28T19:28:23.650 に答える
0
SharedPreferences settings = null;
settings = PreferenceManager.getDefaultSharedPreferences(this);
eMailAdress = settings.getString("eMailAdress", ""); // Replace eMailAdress with your Pref name
于 2013-10-28T07:52:32.297 に答える