這裏的圖片分享,不是通過實現新浪或者其他網站的接口,而是調用WindowsPhone的接口來實現。
這樣做的好處就是,可以把所有可以接受圖片的應用都提供給用戶。
截圖如下:
其中的原理就是幾行代碼:
var ml = new MediaLibrary(); var pic = ml.SavedPictures[ml.SavedPictures.Count - 1]; var smt = new ShareMediaTask { FilePath = pic.GetPath() }; smt.Show();
我這裏取得的,是在相冊中的“保存的圖片”文件夾中的最後一張圖片。有的同學可能會問,可不可以從自己的IsolatedStorageFile中分享呢?
至少到現在爲止,Wp還不允許這樣做。
爲什麼呢?
這是由於爲了保證分享的安全性,微軟禁止隨意分享一些文件,所以只可以從MediaLibrary中分享。
所以,如果你想把自己項目生成的圖片分享給其他應用,除了調用其他應用的接口,就只能先保存到圖片中,然後再通過以上方法取得文件的Path來共享。
再說說文件共享。
var file = await ApplicationData.Current.LocalFolder.GetFileAsync("Target.pdf");
await Launcher.LaunchFileAsync(file);
其中的Target.pdf我已經預先存到了IsolatedStorageFile中,因爲只有存到獨立存儲之後纔可以通過這種方式分享。
而Launch之後,只要實現了.pdf後綴的程序都可以接受到信號然後被打開,截圖如下:
有些同學可能又會問了,爲什麼不用這種方法打開圖片呢?
其實png,jpg這些後綴名,全部是微軟預留的後綴,如果我們使用這種方法打開的話,只能使用微軟的默認圖片查看器打開,而且沒有分享功能。