显示预填充的电子邮件意图中的收件人地址?

14

enter image description here我无法在电子邮件客户端中预填写“TO”字段到此处的extras中提到的“to”地址:

EmailImage.setOnClickListener(new OnClickListener() {  
            @Override  
            public void onClick(View v) {  
                 // TODO Auto-generated method stub  
                Intent it = new Intent(Intent.ACTION_SEND_MULTIPLE);   
                it.putExtra(Intent.EXTRA_EMAIL, "toaddress@gmail.com");   
                it.putExtra(Intent.EXTRA_SUBJECT, "Regarding Policy Info");  
                it.putExtra(Intent.EXTRA_TEXT, "When is my next Premium due");  
                //it.setType("text/plain");   
                it.setType("message/rfc822");  
                startActivity(it);   
            }  
        });  

问题是什么?

谢谢
Sneha


你介意发布你的解决方案吗?(我遇到了同样的问题,但我已经将地址放入数组中了...仍然是空的“TO字段”) - vaiomike
5个回答

43
你需要将地址放入一个数组中:
it.putExtra(Intent.EXTRA_EMAIL, new String[] {"toaddress@gmail.com"});

详见此处


现在对你来说工作需要什么?(假设你之前提供了一个字符串数组作为收件人?)也许你可以发布最终的工作示例代码!谢谢。 - vaiomike
@vaiomike 没有理解问题。 - MByD
我的问题是针对@sneha的,是否他可以发布他的工作解决方案。(我有同样的问题,尽管我把地址放在一个数组中) - vaiomike
1
@vaiomike - 在他的问题下发表评论,这样他就会收到通知。 - MByD
抱歉,我的错。我以为他已经被通知了,因为他已经接受了这个解决方案。 - vaiomike

7
我有类似这样的东西并且它可以工作:


            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, ""));

使用您上面完全相同的代码,遇到了相同的问题;收件人(TO)字段仍然为空 :-( - vaiomike

2

使用ACTION_SEND_MULTIPLE时,

你需要为Intent.EXTRA_EMAIL提供一个字符串数组,就像Binyamin Sharet向你展示的那样。

如果只需要提供一个地址,请使用Intent.ACTION_SEND。


0

试试这个

Intent sendIntent = new Intent(Intent.ACTION_SEND);
                        sendIntent.putExtra(Intent.EXTRA_EMAIL,new String[]{"","your email"});

0
这对我有用:
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
                        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,new String[] { "someone@gmail.com" });
                        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, edt_msg.getText().toString());
                        emailIntent.putExtra(Intent.EXTRA_SUBJECT, edt_subjct.getText().toString());
                        emailIntent.setType("message/rfc822");

                        Uri uri = Uri.parse("file://" + file_img_capt);
                        emailIntent.putExtra(Intent.EXTRA_STREAM, uri);
                        startActivity(emailIntent);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接