java - 我们如何动态设置 From email 从应用程序传递电子邮件 Intent

标签 java android

我想在我的应用程序中通过电子邮件 Intent 发送文件。但我想根据我的选择通过代码设置电子邮件 FROM id,而不是默认在我的设备中登录 gmail。Android 代码可以吗?

public void sendEmail() {
        try {
            Uri photoURI = FileProvider.getUriForFile(UserDetails.this, getApplicationContext().getPackageName() + ".provider", jsonFile);
            String email = user.getEmail();
            String subject = "User Export Data";
            String message = "For getting the better understanding.Please open this json file with the json viewer tools.";
            final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{email});
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
            if (jsonFile != null) {
                emailIntent.putExtra(Intent.EXTRA_STREAM, photoURI);
            }
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
            this.startActivity(emailIntent);
//            this.startActivity(Intent.createChooser(emailIntent, "Sending email..."));
        } catch (Throwable t) {
            Toast.makeText(this, "Request failed try again: " + t.toString(), Toast.LENGTH_LONG).show();
        }
    }

最佳答案

试试这个

this.startActivity(new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:to@gmail.com")));

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                          emailIntent.setType("text/plain");
                          emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String\[\]{  "serveroverloadofficial@gmail.com"});
                          emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Hello There");
                          emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Add Message here");


                            emailIntent.setType("message/rfc822");

                        try {
                            startActivity(Intent.createChooser(emailIntent,
                                    "Send email using..."));
                        } catch (android.content.ActivityNotFoundException ex) {
                            Toast.makeText(getActivity(),
                                    "No email clients installed.",
                                    Toast.LENGTH_SHORT).show();
                        }

                    }
                });

关于java - 我们如何动态设置 From email 从应用程序传递电子邮件 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57217246/

相关文章:

java - 在 iText 中使用 setEncryption 方法时是否可以仅设置所有者密码?

java - Swing 外行分页

android - 改进 Android 中的布局 .. 也许是 TableLayout?

iphone - Android 和 iOS (iPhone/iPad) 上的 native 应用程序与跨平台解决方案之间的权衡

android - 如何使用 Android 地理围栏 API?

android - 从 Where 子句创建 Observable 时 Android 中可能存在 Realm 内存泄漏

java - 将触摸事件与鼠标事件分开

Java EWS - 如何获取附件类型

java - 如何在 Java 中打印信息表

Android GridView : getNumColumns() returns AUTO_FIT value