【问题标题】:eMail address from SharedPreference for messageIntent来自 MessageIntent 的 SharedPreference 的电子邮件地址
【发布时间】:2013-10-27 10:07:14
【问题描述】:

我想发送一封电子邮件,其中包含来自 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); 
}

感谢您和来自德国的问候, 卡切

【问题讨论】:

    标签: java android email android-intent sharedpreferences


    【解决方案1】:
    SharedPreferences settings = null;
    settings = PreferenceManager.getDefaultSharedPreferences(this);
    eMailAdress = settings.getString("eMailAdress", ""); // Replace eMailAdress with your Pref name
    

    【讨论】:

      【解决方案2】:

      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); 
      }
      

      【讨论】:

        【解决方案3】:

        好吧,在您从 SharedPreferences 中检索数据之前,您还需要将其放在那里:

        settings = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
        settings.edit().putString("emailKey", "my@email.com").commit();
        

        【讨论】:

          【解决方案4】:

          我尝试像这样更新我的代码:

          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 是问题还是?

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-09
            • 2023-03-30
            • 1970-01-01
            • 1970-01-01
            • 2012-12-31
            • 2012-07-27
            • 2015-07-10
            • 1970-01-01
            相关资源
            最近更新 更多