先来看看实现效果:

也不过多介绍了,直接上代码:
- private void openMail() {
- Uri uri = Uri.parse("mailto:" + "");
- List
applicationInfoList = getPackageManager().getInstalledApplications(PackageManager.MATCH_UNINSTALLED_PACKAGES);//获取手机应用所有包名 - List
tempPkgNameList = new ArrayList<>(); - List
emailIntents = new ArrayList<>(); - for (ApplicationInfo info : applicationInfoList) {
- String pkgName = info.packageName;
- if (!tempPkgNameList.contains(pkgName)) {
- tempPkgNameList.add(pkgName);
- Intent intent = getPackageManager().getLaunchIntentForPackage(pkgName);
- emailIntents.add(intent);//添加邮箱类型应用
- }
- }
- if (!emailIntents.isEmpty()) {
- String[] email = {"xxxx@qq.com"};
- Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
- intent.putExtra(Intent.EXTRA_EMAIL, email); // 收件人
- intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题
- intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文
- Intent chooserIntent = Intent.createChooser(intent, "意见反馈");
- if (chooserIntent != null) {
- startActivity(chooserIntent);
- } else {
- Log.d("openEmail","没有邮箱类型应用1");
- }
- } else {
- Log.d("openEmail","没有邮箱类型应用2");
- }
- }