这是个很傻很不重要的话题,但问了也没什么损失。
我的应用在主菜单中有一个 "分享应用 "的功能,它发送了一封带有文字和一组应用截图的推广邮件,最后它调用了以下方法。
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的顺序不一致。
我希望附件的顺序和ArrayList的顺序一样,这样收到邮件的人就能以 "可读""可理解 "的方式看到应用程序是如何按照附件工作的(例如,来自Gmail的附件,不需要下载),就像用户使用应用程序时遵循的工作顺序一样。
我做了几个测试,以确认附件不仅没有排序,而且是以不同的-可能是随机的-顺序到达。
能否对附件进行排序?
我希望附件能按ArrayList的顺序排列。
那就用一个附件,在这里你附加一个文档,把你的图片按照你想要的顺序排列。
否则......你的代码将开始一个 ACTION_SEND_MULTIPLE
活动。在Play Store和其他地方可能有成千上万的这些。它们中的任何一个如何处理你的额外活动是由它们的开发者决定的,而不是你或我。