【问题标题】:Filtering chooser intent过滤选择器意图
【发布时间】:2017-06-09 01:13:55
【问题描述】:

我想收到用户的电子邮件。我正在尝试过滤选择器意图,但我被困在某个点。

选择者意图带来用户的联系人。我只想显示已安装的电子邮件应用程序,当然会自动填充“收件人”字段。

如何删除用户的联系人并仅显示电子邮件应用程序?

任何帮助将不胜感激。

到目前为止,这是我的代码:

    List<Intent> emailAppLauncherIntents = new ArrayList<>();

    Intent emailAppIntent = new Intent(Intent.ACTION_SENDTO);
    emailAppIntent.setData(Uri.parse("mailto:test@mail.com"));
    emailAppIntent.putExtra(Intent.EXTRA_EMAIL, "");
    emailAppIntent.putExtra(Intent.EXTRA_SUBJECT, "Feedback on "+getContext().getPackageName());
    emailAppIntent.putExtra(Intent.EXTRA_TEXT, mailBody);

    PackageManager packageManager = getActivity().getPackageManager();

    List<ResolveInfo> emailApps = packageManager.queryIntentActivities(emailAppIntent, PackageManager.MATCH_ALL);

    for (ResolveInfo resolveInfo : emailApps) {
        String packageName = resolveInfo.activityInfo.packageName;
        Intent launchIntent = packageManager.getLaunchIntentForPackage(packageName);
        emailAppLauncherIntents.add(launchIntent);
    }

    Intent chooserIntent = Intent.createChooser(new Intent(), "Select email app:");
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, emailAppLauncherIntents.toArray(new Parcelable[emailAppLauncherIntents.size()]));
    startActivity(chooserIntent);

【问题讨论】:

    标签: android android-intent-chooser


    【解决方案1】:

    改变 MIME 类型就是答案

    使用

    intent.setType("message/rfc822");
    

    【讨论】:

    • 谢谢阿伦。但我不能让它与你的代码一起运行。 all apps associated with this action have been turned off blocked or are not installed
    【解决方案2】:

    这就是我做的。

        Intent intent = new Intent(Intent.ACTION_VIEW);
        Uri data = Uri.parse("mailto:"
                + "xyz@abc.com"
                + "?subject=" + "Feedback" + "&body=" + "");
        intent.putExtra(Intent.EXTRA_SUBJECT, "Feedback";
        intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "xyz@abc.com" });
        intent.putExtra(Intent.EXTRA_TEXT, mailBody);
        intent.setData(data);
        startActivity(intent);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多