当用户按下按钮时,我想打开默认电子邮件客户端或可用电子邮件客户端列表。当用户选择使用哪个客户端时,应将用户重定向到电子邮件应用程序的收件箱。使用Android意图有可能吗?
在实际创建电子邮件时,我只能找到启动电子邮件的解决方案。
最佳答案
为此,您需要创建一个自定义选择器,例如,您可以创建一个BottomSheetDialog
项,其中RecyclerView
个项目是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
}
关于android - 如何在不使用 Intent 发送电子邮件的情况下打开电子邮件客户端?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54553591/