Итак, вот ситуация - я разрабатываю плагин Unreal с нативными android функциями. Намерение для одного изображения работает отлично, но теперь, когда я пытаюсь добавить несколько вложений изображений, используя ACTION_SEND_MULTIPLE
, это не запускает активность.
Нет ошибок, выполнение останавливается на .startActivity()
, перенос с помощью try-catch не возвращает никаких исключений, Unreal передает массив изображений без каких-либо проблем. Я чувствую, что это неправильно строит намерение, но после 2 дней поиска и бесчисленных часов проб и ошибок я чувствую, что пришло время сдаться и искать совет здесь:)
Вот часть java код, который я подозреваю, не работает:
public static void sendEMail(Activity activity, String subject, String[] extraImagePaths,
String[] recipients, String[] cc, String[] bcc,
boolean withChooser, String chooserTitle) {
Intent intent = createEMailIntent(subject, recipients, cc, bcc);
ArrayList<Uri> paths = new ArrayList<Uri>();
if (extraImagePaths.length > 0) {
for (String extraImagePath : extraImagePaths) {
File fileIn = new File(extraImagePath);
Uri arrayPath = Uri.fromFile(fileIn);
paths.add(arrayPath);
}
}
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, paths);
try {
launchShareIntent(activity, withChooser, chooserTitle, intent);
} catch (Exception e) {
Log.d("AndroidLOG:", e.getMessage());
}
}
private static Intent createEMailIntent(String subject, String[] recipients, String[] cc, String[] bcc) {
return new Intent(Intent.ACTION_SEND_MULTIPLE)
.setData(Uri.parse("mailto:"))
.setType("image/*")
.putExtra(Intent.EXTRA_SUBJECT, subject)
.putExtra(Intent.EXTRA_EMAIL, recipients)
.putExtra(Intent.EXTRA_CC, cc)
.putExtra(Intent.EXTRA_BCC, bcc);
}
private static void launchShareIntent(Activity activity, boolean withChooser, String chooserTitle, Intent intent) {
if (withChooser) {
Intent chooserIntent = Intent.createChooser(intent, chooserTitle);
activity.startActivity(chooserIntent);
} else {
activity.startActivity(intent);
}
}
попытался удалить все дополнения, кроме изображений, но это не решило проблему.
Помощь будет принята с благодарностью !