2014-01-27 25 views
2

朋友你好可編輯的假i灣,使編輯錯誤在所有的EditText當我通過我的應用程序發送郵件
編程製作郵件屏幕文本字段的Android

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","[email protected], null)); 

emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My Subject"); 

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Message); 
startActivity(Intent.createChooser(emailIntent, "Send email...")); 
finish(); 

的朋友,我的問題是我想要的文字主題費爾德和Text/Body feild只讀用戶無法編輯它的值,所以我如何讓它成爲任何idae?

+0

您是否希望將文本主體設置爲只讀在選擇器「email」屏幕中? – 2014-01-27 12:03:50

+0

@ user3110424 ::是 –

+0

我認爲這是很難的,因爲你正在給其他應用程序的控件... – Vikram

回答

0

您傳遞一個意圖讓android設備處理郵件函數指定處理它,一旦意圖通過它將處理gmail或任何其他電子郵件客戶端安裝在您的手機,一旦他們處理並獲得您的數據是主題和消息您的應用程序將處於暫停狀態,我的意思是說您無法控制處理數據的其他應用程序。

創建郵件處理和發送郵件,而不是把它當作目的

設置可編輯的假作品只有當你有沒有其他的活動你的應用程序中的那些編輯字段由你的意圖

0

你開始的可以創建自己的電子郵件發送活動,而不會將意圖傳遞給任何本機電子郵件客戶端應用程序。您可以輕鬆地禁用editText以發送消息和主題。發送電子郵件的代碼是:如果你選擇的Android的電子郵件選擇器來發送你失去了所有在這個意圖控制電子郵件

public class SendMail{ 

    public static void main(String[] args) { 

     final String username = "[email protected]"; 
     final String password = "password"; 

     Properties props = new Properties(); 
     props.put("mail.smtp.auth", "true"); 
     props.put("mail.smtp.starttls.enable", "true"); 
     props.put("mail.smtp.host", "smtp.gmail.com"); 
     props.put("mail.smtp.port", "587"); 

     Session session = Session.getInstance(props, 
      new javax.mail.Authenticator() { 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(username, password); 
      } 
      }); 

     try { 

      Message message = new MimeMessage(session); 
      message.setFrom(new InternetAddress("[email protected]")); 
      message.setRecipients(Message.RecipientType.TO, 
       InternetAddress.parse("[email protected]")); 
      message.setSubject("Testing Subject"); 
      message.setText("Dear Mail Crawler," 
       + "\n\n No spam to my email, please!"); 

      Transport.send(message); 

      System.out.println("Done"); 

     } catch (MessagingException e) { 
      throw new RuntimeException(e); 
     } 
    } 
} 

here

0

基本上採取。所以重寫這些行爲是非常困難的,而且可能是不可能的。所以克服這個問題,你可以按照這個鏈接Sending Email in Android using JavaMail API without using the default/built-in app

您可以在上面的鏈接中找到如何使用javamail Api。

現在你可以製作自己的layout郵件活動。您還可以使用

youreditetxtWhichyouwanttodisable.setEditable(false);

這可能是有用的。