none
ShareMediaTask分享图片 RRS feed

  • 问题

  • 用ShareMediaTask分享图片时,FilePath的路径怎么赋值呢,查资料发现有人这么干:

    var picture = lib.SavePicture(string.Format("app.jpg"), ms);

    var task = new ShareMediaTask();

    task.FilePath = picture.GetPath();

    把图片保存到了相册中,然后用相册中的路径赋值给FilePath ,这样会造成很不好的体验,就是每次分享图片都默认在相册中保存一张垃圾图片

    怎么设置本地图片的路径呢,或者独立存储中的图片路径,不通过SavePicture获取path。

    紧急啊!!!!!

    2013年3月6日 7:46

全部回复

  • 你好,

    对于图片分享问题,我们一般用以下方法做:

    1.ShareMediaTask(一般是分享到email,messaging等)

    使用ShareMediaTask,  Msdn上其实已经提供了使用方法:

    http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/jj207027(v=vs.105).aspx

            private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                CameraCaptureTask cameraCaptureTask = new CameraCaptureTask();
    
                cameraCaptureTask.Show();
                cameraCaptureTask.Completed += cameraCaptureTask_Completed;
    
            }
    
            void cameraCaptureTask_Completed(object sender, PhotoResult e)
            {
                //throw new NotImplementedException();
                if (e.TaskResult == TaskResult.OK)
                {
                    ShowShareMediaTask(e.OriginalFileName);
                }
    
            }
            void ShowShareMediaTask(string path)
            {
                ShareMediaTask shareMediaTask = new ShareMediaTask();
                shareMediaTask.FilePath = path;
                shareMediaTask.Show();
            }

    2.PhotoChooserTask(一般用于分享到你的应用中)

    参考:http://andy-teamg.blogspot.com/2010/07/windows-phone-7-selecting-device-photos.html


    Mark Yu - MSFT
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月15日 8:49
    版主
  • 你确定Picture类有GetPath方法?

    http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.picture_members.aspx

    2013年3月15日 8:53
  • 终于有人回答了,非常感谢您的回复

    我只关注第一种情况,ShareMediaTask的使用,我的问题是如何不通过cameraCaptureTask 这种拍照的方式来对FilePath 进行赋值,比如我在应用内有一张图片想要分享出去,我该如何操作。

    另外,怎么感觉论坛的支持远远不如以前了呢,这么久才有人回答,而且这个是第二次提问,第一次的提问没人支持一直,就又发了一次,唉……

    2013年3月15日 9:02
  • 你看的是xna中的,请参考wp中的Api。
    2013年3月15日 9:04
  • 你好,

    由于出于安全性的考虑,ShareMediaTask的filepath一般通过cameraCaptureTask拍照的方式赋值或通过MediaLibrary。

    对于应用内的媒体文件分享,我们需要把当前图片(或其他媒体文件)保存到用户手机上,然后通过ShareMediaTask进行分享。


    Mark Yu - MSFT
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2013年3月19日 6:23
    版主
  • 好吧,按照这个来做的话,事实上它没一点用,通过保存在本地在分享,真不是什么好的体验。

    2013年3月19日 6:55
  • 你看的是xna中的,请参考wp中的Api。
    我看的就是wp红的,Picture类本来就是在XNAFramework命名空间下的
    2013年3月25日 11:21
  • 将图片保存到独立存储的shared 里面。

    2013年4月7日 4:03
  • 将图片保存到独立存储的shared 里面。

    哦,那路径要怎么填啊?
    • 已编辑 HamGuy15 2013年4月9日 1:30
    2013年4月9日 1:30
  • GetPath是扩展方法,引用using Microsoft.Xna.Framework.Media.PhoneExtensions;即可
    我这里的问题也是在讨论如何填写独立存储中的路径,貌似没有办法现在,坑爹的微软支持啊!我骂人不会被禁言吧?
    2013年4月10日 4:04