Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/html");
intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

startActivity(Intent.createChooser(intent, "Send Email"));

上面的代码打开一个对话框,显示以下应用程序:-蓝牙、Google Docs、Yahoo Mail、Gmail、Orkut、Skype等.

实际上,我想把这些选项发过滤.我只想显示与邮箱相关的应用程序,例如Gmail、雅虎邮件.怎么做呢?

我在"Android Market"应用程序中见过这样的例子.

  1. 打开安卓市场应用程序
  2. 打开开发人员指定其邮箱地址的任何应用程序.(如果你找不到这样的应用,请打开我的应用:-market://details?id=com.becomputer06.vehicle.diary.free,或通过"车辆日志(log)"进行搜索)
  3. 向下滚动至"开发者"
  4. 点击"发送邮箱"

该对话框仅显示邮箱应用程序,如Gmail、Yahoo Mail等.它不显示蓝牙、Orkut等.是什么代码生成此类对话框?

推荐答案

当您更改intent.setType(如下所示)时,您将获得

intent.setType("text/plain");

使用android.content.Intent.ACTION_SENDTO仅获取邮箱客户端列表,没有Facebook或其他应用程序.只有邮箱客户端. 例如:

new Intent(Intent.ACTION_SENDTO);

我不建议你直接使用邮箱apply.让用户 Select 他最喜欢的邮箱应用程序.不要约束他.

如果使用ACTION_SENDTO,putExtra无法将主题和文本添加到意图中.使用Uri添加主题和正文文本.

EDIT:

message/rfc822支持.mhtml, .mht, .mime的MIME类型

Android相关问答推荐

Jetpack编写日期 Select 器

使用mvvm和jetpack的Android中的视图模型compose

listOf(listOf(字符串))在lazyArchitect(lazyStream)中合成

Android Kotlin DSL Gradle找不到自定义存储库中的依赖项

Jetpack Compose中的导航找不到NavHost类的名称为:startDestination";的参数

list 合并失败,AGP 8.3.0

如何处理穿戴构图上的长点击事件?

在模块中找到重复的类com.google.Firebase.auth.ktx.AuthKt||Android Studio

为什么它显示我的空白屏幕?

数据绑定在Android中等待填充值时显示未填充的值

如何在喷气背包中绕过集装箱

更改当前活动并返回后,Android webview 滚动不起作用

Jetpack Compose 绘制范围内的动画

我如何比较多个时间范围并在 Android Compose 中并排显示它们

未找到 com.android.tools.build:gradle:7.4.0 的匹配变体

了解 Compose 声明性逻辑

在 Jetpack Compose 中自动滚动后面的项目

如何放置在柱子的角落(底端)

插入查询室 OnConflictStrategy.REPLACE

如何在 Jetpack Compose 中更改 ModalNavigationDrawer 的抽屉容器 colored颜色 ?