protected internal override async void OnMessageReceived(ConversationMessage message)
        {
            var brm = message as BrowseRequestMessage;

            if (brm != null)
            {
                //需要查找父目录,看当前请求的文件或者目录,是不是在他们的子项目,如果是子项目,才给回应。
                var msg = await BrowseResponseUtil.Response(this, brm);

                PostMessageAsync(msg);
            }
            else if (message is GetItemsRecoverMessage)
            {
                throw new NotImplementedException();
            }
            else if (message is CancelItemMessage)
            {
                throw new NotImplementedException();
            }
        }
        protected internal override async void OnMessageReceived(ConversationMessage message)
        {
            var brMessage = message as BrowseRequestMessage;

            if (brMessage == null)
            {
                return;
            }

            #region comment
            //TODO 如果是安卓又该如何处理?首先需要搞清楚这是在分类浏览,还是在浏览目录,如果是在浏览目录,这个代码可用
            //如果是在分类浏览,那么需要去数据库中查询,并返回列表。

            //如果安卓做分类浏览,那么分类浏览中有没有子目录的概念?有的图库中有多个相册,是如何处理的?多个相册看起来像是文件夹的概念。

            //TODO 新拍摄的图片之类的,没有立即存储到MediaStore,如何处理?
            //TODO 如果有生成并缓存缩略图,那些缩略图要被MediaStore忽略才行。

            //http://blog.csdn.net/yhcelebrite/article/details/11714925
            //http://blog.csdn.net/bgc525725278/article/details/8131657
            #endregion

            var respondMessage = await BrowseResponseUtil.Response(this, brMessage);

            if (CurrentFolder?.Children.FirstOrDefault(c => c.Id == respondMessage.CurrentDir?.Id) != null)
            {
                //如果这次要求浏览的目录是上次浏览的目录的子目录
                //CurrentFolder.FolderString
                respondMessage.CurrentDir.Parent = CurrentFolder;
            }
            CurrentFolder = respondMessage.CurrentDir;
            if (CurrentFolder != null)
            {
                if (NamedFolders.IsNamedFolderId(CurrentFolder.Id))
                {
                    _browseHistories.Clear();                     //已经到顶层目录,不会再有返回操作。
                }
                _browseHistories.Add(CurrentFolder);
            }
            PostMessageAsync(respondMessage);
        }
 protected override async Task <ConversationAgreeMessage> OnAgreed()
 {
     return(await BrowseResponseUtil.Response(this, RequestMessage as BrowseRequestMessage));
 }
 internal BrowseResponder()
 {
     _bru = new BrowseResponseUtil();
 }