Android: 对邮件发送的附件进行排序

Android: Sort attachments sent by mail

这是一个愚蠢而不重要的话题,但问起来也没什么损失。

我的应用程序在主菜单中有一个“分享应用程序”功能,它会发送一封带有文本的促销电子邮件和一组应用程序屏幕截图,最后它调用以下方法:

public static void shareFile(ArrayList<Uri> uris, String fileType)
{
    try{
        Intent share = new Intent(Intent.ACTION_SEND_MULTIPLE);
        share.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        share.setType(fileType);
        String strSubject = TMLocale.getStringResourceByName("mainmenu_sharethisapp_subject");
        share.putExtra(Intent.EXTRA_SUBJECT, strSubject);
        share.putExtra(Intent.EXTRA_TEXT, TMLocale.getStringResourceByName("mainmenu_sharethisapp_recommendtext"));

        share.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
        activity.get().startActivity(Intent.createChooser(share, TMLocale.getStringResourceByName("mainmenu_sharethisapp_shareapptitle")));
    }
    catch(Exception ex){
        Toast.makeText(activity.get(), String.valueOf(ex.getMessage()),Toast.LENGTH_LONG).show();
    }
}

效果很好,但是您收到的(例如通过邮件)是一组无序的附件,我的意思是,附件顺序与 ArrayList<Uri> 顺序不一致。

我希望附件按 ArrayList 的顺序排序,这样收到电子邮件的人可以在“可读”的情况下查看应用程序如何按照附件(例如来自 Gmail,无需下载附件)工作/“易于理解”的方式,就像遵循用户使用该应用程序时遵循的相同工作顺序。

我做了几次测试,只是为了确认附件总是不仅无序地到达,而且以不同的——也许是随机的——顺序到达。

是否可以对附件进行排序?

I'd like the attachments to be ordered as the ArrayList is

然后仅使用一个附件,在其中附加一份按所需顺序放置图像的文档。

否则...您的代码正在启动 ACTION_SEND_MULTIPLE activity。 Play 商店和其他地方可能有数​​千个这样的应用程序。他们如何处理您的附加功能取决于他们的开发人员,而不是您或我。