protected internal override void OnMessageReceived(ConversationMessage message) { BrowseRequestMessage brMessage = message as BrowseRequestMessage; if (brMessage != null) { if (respondMessage == null || !respondMessage.browserId.Equals(brMessage.browserId)) { #region comment //TODO 如果是安卓又该如何处理?首先需要搞清楚这是在分类浏览,还是在浏览目录,如果是在浏览目录,这个代码可用 //如果是在分类浏览,那么需要去数据库中查询,并返回列表。 //如果安卓做分类浏览,那么分类浏览中有没有子目录的概念?有的图库中有多个相册,是如何处理的?多个相册看起来像是文件夹的概念。 //TODO 新拍摄的图片之类的,没有立即存储到MediaStore,如何处理? //TODO 如果有生成并缓存缩略图,那些缩略图要被MediaStore忽略才行。 //http://blog.csdn.net/yhcelebrite/article/details/11714925 //http://blog.csdn.net/bgc525725278/article/details/8131657 #endregion if (work != null && work.IsBusy) { work.CancelAsync(); } var browseList = Env.Instance.GetBrowseList(brMessage.path); respondMessage = new BrowseResponseMessage(); respondMessage.browserId = brMessage.browserId; respondMessage.Items = browseList; respondMessage.path = brMessage.path; PostMessage(respondMessage); } return; } ThumbnailRequestMessage thumbRequestMessage = message as ThumbnailRequestMessage; if (thumbRequestMessage != null) { work = new BackgroundWorker() { WorkerSupportsCancellation = true }; work.DoWork += Work_DoWork; work.RunWorkerAsync(thumbRequestMessage); return; } }
public void GetThumbnail(string itemID) { if (breponseMessage != null && breponseMessage.Items.Exists(item => itemID.Equals(item.ID))) { List <string> list = new List <string>(); list.Add(itemID); thumbMessage = new ThumbnailRequestMessage() { itemIDList = list }; PostMessage(thumbMessage); } }
public void GetThumbnail(List <string> ItemIDList) { if (breponseMessage != null && ItemIDList != null) { List <string> list = new List <string>(); foreach (var itemID in ItemIDList) { if (breponseMessage.Items.Exists(item => itemID.Equals(item.ID))) { list.Add(itemID); } } if (list.Count > 0) { thumbMessage = new ThumbnailRequestMessage() { itemIDList = list }; PostMessage(thumbMessage); } } }