zoukankan      html  css  js  c++  java
  • windows phone 8 设置锁屏背景

      本来想研究一下 利用闪光灯实现手电筒的代码,发现不是简答设置FlashMode属性可以解决问题的,ms也没有提供api,无意瞄了一眼侧边栏的文章列表,发现了设置屏幕锁屏背景的实现,手一抖点进去了。还算比较容易实现,用的的类查了一下,类的方法属性也没有几个,代码中都用到了。开始写的时候问题来了,,,,敲了一个类,试图右键解析添加引用,根本没有解析这一选项(我和我的小伙伴都惊呆了),,,,,,是不是错过了什么。最低电话支持 windows phone 8,ms对wp7的放弃,让我心都碎了,就是说在我的古董机上根本测试不了啊。无奈还是要吧代码敲一下,以后用到就copy一下。

      用到的类有LockScreenManager和LockScreen。LockScreenManager类先判断当前应用是否为锁屏背景屏幕提供程序,将应用程序设置为锁定屏幕背景提供程序。在调用LockScreen的静态方法SetImageUri 设置锁屏背景。

    private async Task<bool> IsLockScreenProvided()
    {
        bool isProvider = LockScreenManager.IsProvidedByCurrentApplication;
        if (!isProvider)
        {
            //将当前应用程序设置为锁屏背景提供程序
            LockScreenRequestResult lsr = await LockScreenManager.RequestAccessAsync();   
            isProvider = lsr == LockScreenRequestResult.Granted;
        }
        return isProvider;
    }
    
    private async void SetLockScreenWallPaper(string filePathOfTheImage, bool isAppResource)
    {
        try
        {
            if (await IsLockScreenProvided())
            {
             // ms-appdata 表示本地应用程序根目录
             // ms-appx 引用程序安装目录,以资源的形式捆绑在xap安装包中
             //这应该是wp8与wp7的不同吧,wp7里这两个路径不是这么表示的,知道的牛人可以详细介绍一下??
             var schema = isAppResource ? "ms-appx:///" : "ms-appdata:///Local/";
             var uri = new Uri(schema + filePathOfTheImage, UriKind.Absolute);
             //将锁定屏幕背景设置为位于提供的统一资源标识符 (URI) 处的图像。
             LockScreen.SetImageUri(uri);
    
             //获取当前锁定屏幕背景的统一资源标识符 (URI)。
             //var currentImage = LockScreen.GetImageUri();
            }
            else
            {
                MessageBox.Show("Permission denied by user to set the background.");
            }
        } 
        catch (System.Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.ToString());
        }
    
    }
    async 和 await 关键字是第一次见到!现在理解就是通过最简单的方法,让你实现异步
  • 相关阅读:
    2020牛客寒假算法基础集训营4-I 匹配星星【贪心】
    P1880 [NOI1995]石子合并【区间dp】
    P1280 尼克的任务
    P1041 传染病控制【暴搜】
    Heavy Transportation POJ
    【空间】C++内存管理
    【编译器】G++常用命令
    【NOIP2011】【Luogu1003】铺地毯
    【Luogu1739】表达式括号匹配
    【Luogu1160】队列安排
  • 原文地址:https://www.cnblogs.com/my-tzc/p/3239571.html
Copyright © 2011-2022 走看看