0

我想向特定的电子邮件 ID 发送一些消息。我设置了地址并尝试发送消息。它在 Gmail 应用程序中运行良好。但它在邮件应用程序中无法正常工作,尤其是在 Nexus 7(HTC one V 也是)中,这是什么原因?

源代码

Intent emailIntent = new Intent(android.content.Intent.ACTION_SENDTO);
emailIntent.setType("text/html");   
emailIntent.setData(Uri.parse("mailto:naresh.repalle@shoregrp.com"));
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Price Check Guru Feedback");        
startActivity(Intent.createChooser(emailIntent, "Email:"));  

更新代码

意图 emailIntent = new Intent(android.content.Intent.ACTION_SENDTO); emailIntent.setType("text/html");

        //set the To address and Subject
        try
        {
            String strSubject = URLEncoder.encode("Price Check Guru Feedback","UTF-8");         
            //testing
            emailIntent.setData(Uri.parse("mailto:naresh.repalle@shoregrp.com"+ "?subject=" + strSubject));
        }
        catch (UnsupportedEncodingException e) 
        {
            e.printStackTrace();
        }           
        startActivity(Intent.createChooser(emailIntent, "Email:"));         
4

1 回答 1

0

尽管人们在论坛(以及这里)上散布了所有谣言,但并非所有 Android 电子邮件应用程序都支持SENDTO/mailto:EXTRAs的混合。时期。您选择了一种并非所有应用程序(包括 K-9)都支持的方法,仅此而已。

似乎可行的是在 URL 中包含主题和正文,使用?subject=&body=,使用Uri.encode()但是,请注意标准的 Android 电子邮件客户端 V3.0会删除+此类邮件中的所有标志,可能是由于解码错误。

更新:好的,这不是你的问题;幸运的你。当然,你可以强制系统提供选择器;你没有用谷歌搜索你的问题吗?虽然,如果它没有触发,则意味着用户之前选择了谷歌邮件而不是专有的电子邮件程序。

于 2013-02-04T08:55:24.900 回答