我正在开发一个Android应用程序。在我的Android应用程序中,我有反馈表单。我从用户那里获取一个电子邮件ID作为输入。我希望当用户点击电子邮件应发送的提交按钮时。 我不希望用户为此添加他/她的密码。
我已经通过Intent
和下面链接中的第二种方法检查了默认方法..
答案 0 :(得分:3)
如果您希望从应用用户的帐户发送电子邮件,则需要进行适当的身份验证。
因此,您可以向电子邮件应用程序发送意图(如您所述),或者您可以自己执行此操作(如您提到的第二种方法)。
但是第二种方法显然需要密码,因为您代表用户(来自他们的帐户)发送电子邮件。事实上,Gmail(或任何邮件服务提供商)不允许没有密码。
简而言之,回答你的问题,不。没有密码就无法做到。
相反,你可以使用一种解决方法。您可以通过单个邮件ID(由您创建,因此您知道密码)发送通过您的应用程序发送的所有电子邮件。现在,在电子邮件的内容中,您可以存储要求您提供反馈的用户的电子邮件ID。
这样,您只需要询问邮件ID(无密码),如果您想联系他们,也可以获得他们的联系信息。
希望这有帮助。
祝你好运。
答案 1 :(得分:0)
不确定对您有用,但是您是否考虑过使用内置电子邮件功能?这甚至不需要用户输入他们的用户ID或密码,但他们当然会将您的应用留给电子邮件客户端发送电子邮件。
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
String[] recipients = new String[]{"recipient@email.com", "",};
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sample mail");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is a sample mail..");
emailIntent.setType("text/plain");
startActivity(Intent.createChooser(emailIntent, "Send mail client :"));
(顺便说一句:这将显示电子邮件客户端上的许多其他应用。如果您对此类解决方案感兴趣,我可以发布一些代码来过滤掉除电子邮件客户端之外的所有应用程序)