Можно ли использовать ShareMediaTask
для одновременного обмена несколькими фотографиями?
В Windows Phone 8 встроенный просмотрщик фотографий пользователь может выбрать несколько фотографий, а затем поделиться этими фотографиями.
Мой код для обмена одной фотографией
private void sharePhoto(BitmapImage bitmap)
{
try
{
WriteableBitmap wb = new WriteableBitmap(bitmap);
int width = (int)wb.PixelWidth;
int height = (int)wb.PixelHeight;
using (Stream stream = new MemoryStream(width * height * 4))
{
wb.SaveJpeg(stream, width, height, 0, 100);
stream.Seek(0, SeekOrigin.Begin);
var lib = new MediaLibrary();
var picture = lib.SavePicture(string.Format(selectedPhoto.FileName), stream);
var shareMediaTask = new ShareMediaTask();
shareMediaTask.FilePath = picture.GetPath();
shareMediaTask.Show();
}
}
catch (Exception e)
{
MessageBox.Show("Error at sharePhoto: " + e.Message);
}
}
Нет, как говорится в документации:
Сборщик позволяет вашему приложению делиться мультимедийным элементом с одним из приложений для обмена мультимедиа, которые установлены на телефоне.
К сожалению, нет никаких других задач, доступных для того, чтобы разрешить совместное использование нескольких элементов мультимедиа, единственный вариант, который я вижу, - это если есть стороннее приложение, в котором есть пользовательский URI, который можно запустить для совместного использования нескольких элементов.
Вы не можете сделать это с помощью ShareMediaTask
. Системные приложения, такие как программа просмотра фотографий, могут использовать API, которые недоступны разработчикам, поэтому они могут в принципе сделать что угодно.