Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");
startActivity(Intent.createChooser(intent, "Send Email"));
Run Code Online (Sandbox Code Playgroud)
上面的代码打开一个对话框,显示以下应用程序: - 蓝牙,Google Docs,Yahoo Mail,Gmail,Orkut,Skype等.
实际上,我想过滤这些列表选项.我想只显示与电子邮件相关的应用程序,例如Gmail,Yahoo Mail.怎么做?
我在"Android Market"应用程序上看到了这样的例子.
该对话框仅显示电子邮件应用程序,例如Gmail,Yahoo Mail等.它不显示蓝牙,Orkut等.什么代码产生这样的对话?
我正在搜索如何从我的应用程序发送电子邮件,我遇到了这个主题:
它解决了在他的动作发送中添加类型的问题:
i.setType("message/rfc822");
Run Code Online (Sandbox Code Playgroud)
这对我也有用,我可以发送我的电子邮件,这很棒.我只是想知道我还能在那里设置什么.
我知道,如果我没有设置任何内容,它将显示包含所有可用选项的列表.我想强制用户使用我选择的任何选项来共享它.我可以探索这个以迫使用户以我想要的方式分享吗?
我的应用程序集成了电子邮件,用户可以直接从应用程序提交错误报告,反馈等.我正在使用application/octet-stream作为Intent的SetType.当您提交电子邮件时,您将获得内容选择器,并显示来自Evernote,Facebook,电子邮件等的各种项目.
如何让此选择器仅显示电子邮件,以免将用户与适合内容选择器类型的所有其他项目混淆?
谢谢.
我正在构建一个从Android应用程序发送电子邮件的表单,我使用Intents发送电子邮件,即:
Intent sendIntent;
sendIntent = new Intent(Intent.ACTION_SEND);
Run Code Online (Sandbox Code Playgroud)
我的要求是我希望电子邮件立即发送,目前应用程序显示我已安装的电子邮件应用程序在设备中我可以在发送前重新编写电子邮件,我想直接发送邮件而不显示已安装的应用程序.
谢谢
我需要为用户提供功能,用户可以通过发送电子邮件来共享某些数据.我使用下面的代码.
Intent email = new Intent(android.content.Intent.ACTION_SENDTO);
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, new String[] { to });
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(email,"Choose an Email client :"));
Run Code Online (Sandbox Code Playgroud)
这显示了Email,gmail,Skype和蓝牙发送供用户选择.我不希望用户显示Skype,在此列表中通过蓝牙发送.我需要做什么 ?我的手机中有WhatsApp,它做同样的事情,但没有在列表中显示电子邮件,蓝牙(设置 - >帮助 - >联系人 - > ...).只显示列表中的电子邮件和Gmail.我需要做同样的事情.
我正在尝试从我的 Android 应用程序发送电子邮件。单击一个按钮,gmail 应该会打开并显示一封包含我之前定义的收件人、主题和电子邮件正文的新电子邮件。到目前为止,我已经尝试发送 Intent.ACTION_VIEW 和 Intent.ACTION_SENDTO。两者都只向收件人显示我的草稿。主题和信息都受到压制。奇怪的是当使用模拟器时,它工作得很好。还试图锁定android错误日志。好像没有权限 这真的是权限问题还是其他原因?我真的很感激任何帮助
这是我的代码:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:" + to));
intent.putExtra(intent.EXTRA_SUBJECT, subject);
intent.putExtra(intent.EXTRA_TEXT, message);
mainActivity.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
Intent email = new Intent(Intent.ACTION_SENDTO);
email.setType("message/rfc822");
email.putExtra(Intent.EXTRA_EMAIL, new String[]{to});
email.putExtra(Intent.EXTRA_SUBJECT, subject);
email.putExtra(Intent.EXTRA_TEXT, message);
mainActivity.startActivity(Intent.createChooser(email, "Choose an Email client :"));
Run Code Online (Sandbox Code Playgroud)
2019-12-13 01:30:35.172 29268-29268/? E//system/bin/webview_zygote32: failed to make and chown /acct/uid_99044: Permission denied
2019-12-13 01:30:35.172 29268-29268/? E/Zygote: createProcessGroup(99044, 0) failed: Permission denied
2019-12-13 01:30:35.206 29289-29289/? E/asset: setgid: Operation not permitted
2019-12-13 …Run Code Online (Sandbox Code Playgroud) 我打算使用android studio开发一个Android移动应用程序,用户可以在其中提供电子邮件地址和密码.然后该密码应发送到提到的电子邮件地址.任何机构都可以共享任何代码片段来执行此操作吗?
我需要检查是否在设备上安装了电子邮件客户端.我使用了以下代码,但它对我不起作用.
public boolean isIntentAvailable() {
final PackageManager packageManager = getApplicationContext().getPackageManager();
final Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, "vin@gmail.com");
List<ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.GET_META_DATA);
return list.size() > 0;
}
Run Code Online (Sandbox Code Playgroud) 有什么方法可以使用设备的已登录Google帐户发送电子邮件?
较早前曾提出过类似的问题,但没有得到足够的答案,或者很久以前,现在已经有许多新的API可用。
以前,我一直Intent.createChooser在提示用户选择邮件客户端并手动发送邮件。但是这次,我希望整个过程能够在没有任何用户交互的情况下完成。我什至不想让用户提供一次性SMTP帐户详细信息或在此过程中使用我自己的帐户。
我知道,我可以访问AccountManager以获得有关登录帐户的信息,但是它可以帮助我发送电子邮件而无需任何用户交互(例如,以编程方式发送电子邮件)。
我一直在使用以下代码Intent在Android中启动发送电子邮件.在Android Lollipop(API级别21)之前,这个工作正常.不幸的是,在Android Lollipop中,这会引发"不支持的操作"错误.
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setType("message/rfc822");
intent.setData(Uri.parse("mailto:" + email));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
它非常基本,它只是通过电子邮件地址,让用户选择使用哪个应用程序.
我应该如何调整我的代码以使其在api级别上工作?我的最低API级别是16(JellyBean).
编辑 我已根据评论和答案包含MIME类型.