Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中使用不可编辑的电子邮件地址启动电子邮件应用程序_Android_Email - Fatal编程技术网

在Android中使用不可编辑的电子邮件地址启动电子邮件应用程序

在Android中使用不可编辑的电子邮件地址启动电子邮件应用程序,android,email,Android,Email,目前,我的Android应用程序中有某种联系方式 我正在使用类似的意图来启动Android电子邮件客户端 Intent i = new Intent(Intent.ACTION_SEND); i.setType("message/rfc822"); i.putExtra(Intent.EXTRA_EMAIL, new String[] { "contact@mycompany.com" }); i.putExtra(android.content.Intent.EXTRA_SUBJECT, "[

目前,我的Android应用程序中有某种联系方式

我正在使用类似的意图来启动Android电子邮件客户端

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL, new String[] { "contact@mycompany.com" });
i.putExtra(android.content.Intent.EXTRA_SUBJECT, "[Contact us]");
问题是在Android电子邮件应用程序中,收件人的电子邮件地址(contact@mycompany.com)是可编辑的,在这种情况下不合适。因此,我需要一些方法来防止用户更改或添加其他电子邮件地址


是否可以在我的意图中添加一些额外内容,以便向电子邮件客户端提示收件人的电子邮件地址不应编辑(固定)?

我不确定您的问题,但您可以像这样使用意图

 Intent intent = new Intent(this,BirdsActivity.class);
        intent.putExtra("Status","fixed");
        startActivity(intent);




Bundle b = getIntent().getExtras();
        int status = b.getString("Status");


 //do whatever you want with status...

我不确定你的问题,但你可以像这样使用意图

 Intent intent = new Intent(this,BirdsActivity.class);
        intent.putExtra("Status","fixed");
        startActivity(intent);




Bundle b = getIntent().getExtras();
        int status = b.getString("Status");


 //do whatever you want with status...

我想这对你有帮助。你让汤姆在你的编辑文本中写这篇文章

EditText.getFreezesText()

我想这对你有帮助。你让汤姆在你的编辑文本中写这篇文章

EditText.getFreezesText()

不确定这是否可能。相反,您可以尝试直接从应用程序发送电子邮件。请看一下这些实现:

//版权所有(C)2009 Android开源项目
//
//根据Apache许可证2.0版(以下简称“许可证”)获得许可;
//除非遵守许可证,否则不得使用此文件。
//您可以通过以下方式获得许可证副本:
//
// http://www.apache.org/licenses/LICENSE-2.0
//
//除非适用法律要求或书面同意,软件
//根据许可证进行的分发是按“原样”进行分发的,
//无任何明示或暗示的保证或条件。
//请参阅许可证以了解管理权限和权限的特定语言
//许可证下的限制。
包com.google.gerrit.server.mail;
导入com.google.gerrit.common.Version;
导入com.google.gerrit.common.errors.EmailException;
导入com.google.gerrit.server.config.ConfigUtil;
导入com.google.gerrit.server.config.GerritServerConfig;
导入com.google.gerrit.server.util.TimeUtil;
导入com.google.inject.AbstractModule;
导入com.google.inject.inject;
导入com.google.inject.Singleton;
导入org.apache.commons.net.smtp.AuthSMTPClient;
导入org.apache.commons.net.smtp.SMTPClient;
导入org.apache.commons.net.SMTPReply;
导入org.eclipse.jgit.lib.Config;
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.Writer;
导入java.text.simpleDataFormat;
导入java.util.Collection;
导入java.util.Collections;
导入java.util.Date;
导入java.util.HashSet;
导入java.util.LinkedHashMap;
导入java.util.Map;
导入java.util.Set;
/**通过附近的SMTP服务器发送电子邮件*/
@独生子女
公共类SmtpEmailSender实现EmailSender{
公共静态类模块扩展了AbstractModule{
@凌驾
受保护的void configure(){
绑定(EmailSender.class).to(SmtpEmailSender.class);
}
}
公共静态枚举加密{
无,SSL,TLS
}
启用私有最终布尔值;
私有字符串smtpHost;
私人国际smtpPort;
私有字符串smtpUser;
私有字符串smtpPass;
私有加密smtpEncryption;
私有布尔函数;
私有集allowrcpt;
私有字符串的重要性;
私人整数到期日;
@注入
SmtpEmailSender(@GerritServerConfig final Config cfg){
enabled=cfg.getBoolean(“sendmail”,null,“enable”,true);
smtpHost=cfg.getString(“sendmail”,null,“smtpserver”);
if(smtpHost==null){
smtpHost=“127.0.0.1”;
}
SMTP加密=
ConfigUtil.getEnum(cfg,“sendmail”,null,“smtpencryption”,
加密(无);
sslVerify=cfg.getBoolean(“sendmail”,null,“sslVerify”,true);
最终国际贸易端口;
交换机(smtpEncryption){
案例SSL:
defaultPort=465;
打破
案例无:
案例TLS:
违约:
defaultPort=25;
打破
}
smtpPort=cfg.getInt(“sendmail”,null,“smtpserverport”,defaultPort);
smtpUser=cfg.getString(“sendmail”,null,“smtpUser”);
smtpPass=cfg.getString(“sendmail”,null,“smtpPass”);
Set rcpt=new HashSet();
对于(字符串地址:cfg.getStringList(“sendmail”,null,“allowrcpt”)){
rcpt.add(地址);
}
allowrcpt=Collections.unmodifiableSet(rcpt);
重要性=cfg.getString(“sendmail”,null,“重要性”);
expiryDays=cfg.getInt(“sendmail”,null,“expiryDays”,0);
}
@凌驾
公共布尔值isEnabled(){
返回启用;
}
@凌驾
公用邮件(字符串地址){
如果(!isEnabled()){
返回false;
}
if(allowrcpt.isEmpty()){
返回true;
}
if(allowrcpt.contains(地址)){
返回true;
}
字符串域=address.substring(address.lastIndexOf('@')+1);
if(allowrcpt.contains(domain)| | allowrcpt.contains(“@”+domain)){
返回true;
}
返回false;
}
@凌驾
公共无效发送(最终地址从,收款人rcpt,
最终映射(调用器、最终字符串体)
抛出电子邮件异常{
如果(!isEnabled()){
抛出新的EmailException(“发送电子邮件被禁用”);
}
最终地图hdrs=
新的LinkedHashMap(称为阅读器);
setMissingHeader(hdrs,“MIME版本”,“1.0”);
setMissingHeader(hdrs,“内容类型”,“文本/普通;字符集=UTF-8”);
setMissingHeader(hdrs,“内容传输编码”,“8bit”);
setMissingHeader(hdrs,“内容处置”、“内联”);
setMissingHeader(hdrs,“用户代理”,“Gerrit/”+Version.getVersion());
if(重要性!=null){
setMissingHeader(hdrs,“重要性”,重要性);
}
如果(过期天数>0){
日期到期=新日期(TimeUtil.nowMs()+
到期日*24*60*60*1000L);
setMissingHeader(hdrs,失效日期),
新的简化格式(“EEE,dd MMM yyyy HH:mm:ss Z”)。格式(到期日);
}
StringBuffer已拒绝=新建StringBuffer();
试一试{
最终SMTPClient客户端=打开();
试一试{
如果(!client.setSender(from.email)){
投掷ne