Android:将反馈发送到默认电子邮件[重复]

Posted

技术标签:

【中文标题】Android:将反馈发送到默认电子邮件[重复]【英文标题】:Android : Send feedback to default email [duplicate] 【发布时间】:2017-02-04 22:17:44 【问题描述】:

我有一个反馈表和发送和取消按钮。单击发送按钮时,如何使反馈发送响应默认电子邮件?以及如何设置默认电子邮件。这可能吗?请告诉我。谢谢。

这是我的反馈表单:

            @Override
            public void onClick(View arg0) 

                // Create custom dialog object
                final Dialog dialog = new Dialog(MainActivity.this);
                // Include dialog.xml file
                dialog.setContentView(R.layout.activity_main);
                // Set dialog title
                dialog.setTitle("Feedback"); 

                dialog.show();

                Button button1 = (Button) dialog.findViewById(R.id.button1);
                // if decline button is clicked, close the custom dialog
                button1.setOnClickListener(new OnClickListener() 
                    @Override
                    public void onClick(View v) 
                        // Close dialog
                        dialog.dismiss();
                    
                );

                Button button2 = (Button) dialog.findViewById(R.id.button2);
                // if decline button is clicked, close the custom dialog
                button2.setOnClickListener(new OnClickListener() 
                    @Override
                    public void onClick(View v) 
                        // Close dialog
                        dialog.dismiss();
                    
                );

【问题讨论】:

你也可以看到这个链接***.com/questions/3312438/… 【参考方案1】:

使用选择器以编程方式打开您的电子邮件客户端:

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(Intent.EXTRA_EMAIL, new String[]  "some@email.address" );
intent.putExtra(Intent.EXTRA_SUBJECT, "subject");
intent.putExtra(Intent.EXTRA_TEXT, "mail body");
startActivity(Intent.createChooser(intent, ""));

要在不使用选择器的情况下以编程方式发送电子邮件,您可以使用this 链接。

【讨论】:

【参考方案2】:

你可以使用下面的sn-p:

     private void sendEmail(String email) 

                    Intent emailIntent = new Intent(Intent.ACTION_SENDTO);

                    String aEmailList[] = email;
                    emailIntent.setData(Uri.parse("mailto:")); // only email apps should handle this
                    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, aEmailList);
                    String feedback_msg = getString(R.string.feedback_msg);
                    emailIntent.putExtra(Intent.EXTRA_TEXT, html.fromHtml("<i><font color='your color'>" + feedback_msg + "</font></i>"));
                    emailIntent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.feedback_msg));

                    PackageManager packageManager = getActivity().getPackageManager();
                    boolean isIntentSafe = emailIntent.resolveActivity(packageManager) != null;
                    if (isIntentSafe) 
                        startActivity(emailIntent);
                     else 
                        Toast.makeText(getActivity(), R.string.email_app_not_installed, Toast.LENGTH_SHORT).show();
                    
                 
   

【讨论】:

我有点迷路了。我应该在哪里添加这个 sn-p? @拉姆 在点击发送按钮时使用电子邮件 ID 作为参数调用此方法

以上是关于Android:将反馈发送到默认电子邮件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将电子邮件发送到存储在EditText中的地址? [重复]

设置默认电子邮件或其他地址以获取用户的反馈

如何使用 Android 代码发送电子邮件 [重复]

android.os.NetworkOnMainThreadException 从 Android 发送电子邮件 [重复]

如何在不发送消息的情况下在 Android 中打开默认电子邮件客户端?

将信息发送到电子邮件 [重复]