zoukankan      html  css  js  c++  java
  • 自定义锁屏壁纸 For WP8

    第一步:添加一段固定代码,到WMAppManifest.xml。

    1 <Extensions>
    2       <Extension ExtensionName="LockScreen_Background" ConsumerID="{111DFF24-AA15-4A96-8006-2BFF8122084F}" TaskID="_default" />
    3 </Extensions>

    此节点为<Tokens>的兄弟节点,置于其下。

    第二步:启动背景图片设置启动器。

    1  var op = await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-lock:"));

    如果第一步正确,选择自己的应用后,界面应如下:

    第三步:选择图片(只能是本地图片),设置到锁屏界面。

     1         /// <summary>
     2         /// 设置锁屏背景
     3         /// </summary>
     4         /// <param name="filePathOfTheImage">本地图片路径</param>
     5         /// <param name="isAppResource"></param>
     6         private async void LockHelper(string filePathOfTheImage, bool isAppResource)
     7         {
     8             try
     9             {
    10                 bool isProvider = LockScreenManager.IsProvidedByCurrentApplication;
    11                 if (!isProvider)
    12                 {
    13                     //设置此应用为锁屏提供者
    14                     LockScreenRequestResult op = await LockScreenManager.RequestAccessAsync();
    15                     //返回结果为:Granted,则设置成功; Denied, 则设置失败
    16                     isProvider = op == LockScreenRequestResult.Granted;
    17                 }
    18                 if (isProvider)
    19                 {
    20                     // ms-appx:/// :代表应用安装文件夹下的根目录
    21                     // ms-appdata:///Local/ :代表的是应用独立存储区下的根目录
    22                     // 两者区别在于,前者图片在应用上传时就确定,后者可先从网络获取,再保持到独立存储器来设置背景
    23                     string shema = isAppResource ? "ms-appx:///" : "ms-appdata:///Local/";
    24                     var uri = new Uri(shema+ filePathOfTheImage);
    25 
    26                     //设置锁屏背景源
    27                     LockScreen.SetImageUri(uri);
    28                 }
    29                 else
    30                 {
    31                     Debug.WriteLine("设置成功!");
    32                 }
    33             }
    34             catch (Exception ex)
    35             {
    36                 
    37                 Debug.WriteLine(ex.ToString());
    38             }
    39         }

    第四步:更新背景图

     1         private void SwitchImage(string newImage)
     2         {
     3             string fileName;
     4             //获取当前图片URL
     5             Uri currentImage = LockScreen.GetImageUri();
     6 
     7             if (currentImage.ToString().Equals(newImage))
     8             {
     9                 return;
    10             }
    11             else
    12             {
    13                 fileName = newImage;
    14             }
    15 
    16            LockHelper(fileName,false);
    17         }

    官方指导链接:http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj206968(v=vs.105).aspx

  • 相关阅读:
    S1 : 函数
    S1 :数组迭代方法
    S1 : 传递参数
    S1:new操作符
    S1:函数上下文
    S1:对象与JSON
    S1:运算符
    S1:变量
    代码规范的读后自己的感悟
    第三周学习总结
  • 原文地址:https://www.cnblogs.com/denjuy/p/2796430.html
Copyright © 2011-2022 走看看