当前位置: 首页 > 知识库问答 >
问题:

AndroidACTION_SEND意图不填充主题或正文

卢英范
2023-03-14

我的应用程序中有代码,可以让用户向开发人员发送电子邮件。它应该预填充To字段、主题字段和body字段。然而,当我运行时,它会填充To,但会忽略其他额外的内容,如主题、身体和选择器文本。我在两个测试设备上看到了这种行为:一个运行Lollipop(Verizon Samsung Galaxy Note 4),一个运行Jelly Bean 4.2.2(Samsung Fascate on CM10.1,尽管我不知道这是否与问题有关。

private void sendHelpEmail() {
    Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
    // prompts email clients only
    email.setType("message/rfc822");

    email.putExtra(Intent.EXTRA_EMAIL, new String[] {getString(R.string.about_email)});
    email.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.login_help_subject));
    email.putExtra(Intent.EXTRA_TEXT, getString(R.string.login_help_body, classButton.text(), Txt_Student.getText().toString()));

    try {
        // the user can choose the email client
        startActivity(Intent.createChooser(email, getString(R.string.login_help_chooser)));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(mThis, R.string.login_help_error, Toast.LENGTH_LONG).show();
        }
}

为什么填充收件人电子邮件时会忽略主题和正文?

共有3个答案

桓高澹
2023-03-14

<代码>意图意图=新意图(Intent.ACTION\u SENDTO)仅显示电子邮件客户端,但由于某些原因,在某些设备中不会填充主题正文字段。(我认为这些是边缘案例)。

<代码>意图意图=新意图(Intent.ACTION\u SEND)调出所有可以发送多部分消息的应用程序,例如WhatsApp、Telegram、Gmail等,但始终填充所有设备中的主题和正文字段。

施令雪
2023-03-14

试试这个方法,它对我有用。

private void sendMail() {

    Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "xx@xx.com", null));
    emailIntent.putExtra(Intent.EXTRA_SUBJECT,getResources().getString(R.string.mail_txt));
    startActivity(Intent.createChooser(emailIntent, "Send email..."));

}         
姜永贞
2023-03-14

以下代码适用于我(刚刚尝试过):

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"foo@bar.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT   , "body of email");
try {
  startActivity(Intent.createChooser(i, "Choose email...");
} catch (android.content.ActivityNotFoundException ex) {
    // handle edge case where no email client is installed
}
 类似资料:
  • 我想有一个主题与10个分区。我使用的是Kafka的默认配置。我用帮助器脚本创建了一个有10个解析的主题,现在我将为它生成消息。 问题是,消费者似乎只有5个分区可以从中获取数据。 让我们更详细地描述一下。 我知道每个分区需要一个使用者线程。我希望能够提交每个分区的偏移量,这是可能的,只有当我有一个线程每个消费连接器每个分区(我是使用高级消费)。 当我这样做10次时,我有10个消费者,每个分区每个线程

  • 我正在尝试使用下面列出的代码使用SSL侦听器端口访问db。 但我看到下面的错误。我也尝试使用“setproperty”更新用户id和passowrd,但仍然看到相同的错误。

  • 问题内容: 我是Android的新秀,因此决定将Cloud Firestore用作我的数据库,并使用它来填充MainActivity中的列表。我以为用于Firestore会超级简单,但我不知道为什么RecyclerView中什么也没有。作为参考,这是Firebase UI页面 ,这是我基于我的应用程序创建的示例代码。我想要做的就是填充用户已保存在数据库中的“课程”列表(Course.java如下所

  • 当创建一个应用时,你将会想将多个控件放入一个窗口控件。我们的第一个 helloworld 范例仅仅使用了一个控件,因而我们可以只是简单地调用一个gtk_container_add()将控件填充到一个窗口控件。但是当你想要向窗口控件中放置超过一个控件时,控制每一个控件的位置和大小就变得很重要了。这就是接下来要讲的填充。 GTK+自带了大量各种布局的容器,这些容器的目的是控制被添加到他们的子控件的布局

  • 我已经编写了一个EDI文档生成器,目前它会在ISA段中填充任何少于所需字符数的字段,并在左侧加空格,例如15个字符的元素为“1234567890”。我想让我的客户在pad上留个空间。我可以这样做,但ANSI X12是否规定了ISA段中的元素应该如何填充?