在android中使邮件屏幕文本字段可编辑为false

在android中使邮件屏幕文本字段可编辑为false,android,email,android-intent,gmail,Android,Email,Android Intent,Gmail,你好,朋友,当我通过我的应用程序发送邮件时,我想在所有edittext中设置editable false 编程的 Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","test@mymail.com, null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "My Subject"); emailIntent.putExtra(android.c

你好,朋友,当我通过我的应用程序发送邮件时,我想在所有edittext中设置editable false
编程的

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto","test@mymail.com, null));

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

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

朋友们,我的问题是我想要文本主题Feild和文本/正文Feild只读用户不能编辑它的值,那么我如何使它成为任何idae

您将意向传递给android设备以处理邮件功能指定一旦意向被传递,它将由gmail或安装在您手机中的任何其他电子邮件客户端处理,一旦他们处理并获取您的主题数据和消息,您的应用程序将处于暂停状态。我的意思是,您无法控制其他邮件处理数据的应用程序

创建邮件处理和发送邮件,而不是按意图传递邮件


仅当应用程序中的编辑字段不在由您的意图启动的其他活动中时,“设置可编辑为false”才有效。

您可以创建自己的电子邮件发送活动,而无需将意图传递给任何本机电子邮件客户端应用程序。您可以轻松禁用消息和主题的编辑文本。发送电子邮件的代码为:

public class SendMail{

    public static void main(String[] args) {

        final String username = "username@gmail.com";
        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("from-email@gmail.com"));
            message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse("to-email@gmail.com"));
            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);
        }
    }
}

摘自

基本上,如果您选择android的电子邮件选择器发送电子邮件,您将无法控制此意图。因此,推翻这些行为是非常困难的,而且可能是不可能的。所以,在这个问题上,你可以点击这个链接

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

现在,您可以为邮件活动制作自己的
布局。你可以用

youreditextwhichyouwanttodisable.setEditable(false)


这可能很有用。

是否要在选择器
电子邮件
屏幕中将文本正文设置为只读?我认为这很困难,因为您正在为其他应用程序提供控件…这可能是不可能的,因为您无法控制电子邮件选择器。所以基本上你不能这么做。@user3110424:那么在我的应用程序中有没有其他方法可以实现自动发送邮件呢?请点击此链接