如何在不使用意图发送电子邮件的情况下打开电子邮件客户端?

时间:2019-02-06 12:24:07

标签: android android-intent

我想在用户按下按钮时打开默认电子邮件客户端或可用电子邮件客户端列表。当用户选择使用哪个客户端时,应将用户重定向到电子邮件应用程序的收件箱。使用Android意图有可能吗?

我只能在实际创建电子邮件时找到启动电子邮件的解决方案。

1 个答案:

答案 0 :(得分:0)

为此,您需要创建一个自定义选择器,例如,您可以创建一个BottomSheetDialogRecyclerView个项目的ResolveInfo

获取能够发送电子邮件的软件包

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "test");
sendIntent.setType("text/plain");
List<ResolveInfo> resolveInfoList = getActivity().getPackageManager()
        .queryIntentActivities(sendIntent, 0);

并创建您的项目,您可以获取应用程序的图标 您商品的

   set(ResolveInfo info, int pos) {
                PackageManager pm = App.getInstance().getPackageManager();
                appName.setText(info.activityInfo.loadLabel(pm));
                appIcon.setImageDrawable(info.activityInfo.loadIcon(pm));
}

并在“回收者”视图中单击该项目

Intent launchIntent = getPackageManager().getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}