Lens 翻译过来其实就是滤镜透镜的意思,在Windows phone 8 中使用快门按钮的时候可以启动相机功能,相机的AppBar 中可以看到一个Lens按钮。这是一种应用的全新体验的方式,我个人就很喜欢这种方式打开相机十分方便,并且在默认相机中就可以选择目标应用的滤镜效果 这样做十分有效的提升了用户体验,而这用户体验是Windows phone平台所特有的,也为更多的lens应用提供了更多的程序入口。
此文是 升级到WP8必需知道的13个特性 系列的一个更新 希望这个系列可以给 Windows Phone 8开发者带来一些开发上的便利。
下图是启动相机后 显示在AppBar中的Lins 按钮。
下图是一个使用lens的应用的体验流程。
首先如果你的应用是要进行拍摄以及保存照片到相册一定要在WMAppManifest中声明使用镜头和相册媒体库访问权限。
另外并不是选了以上两个Item你的应用就可以显示在Lens picker中 需要你进行镜头的扩展注册 需要修改WMAppManifest文件但是这次是要进行打开编辑加入以下代码:
<Extension ExtensionName="Camera_Capture_App" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5631}" TaskID="_default" />
并且要紧跟在Token节点后
这样在从新部署你的应用 在Lens picker中就可以看到你的应用了
从上图可以看出来 只有我的DEMO程序没有图标显示看上去很不友好一定会被很多同学鄙视,当然我也是要设置一下默认选择其中的图标的,我们都知道WP8是支持3种分辨率的 所以在Lens picker中我们也需要三种的图标尺寸来适应着三种分辨率
这里有一个详细的模板说明提供下载 包含PDF 和原始PSD文件非常友好啊:Icon templates for Windows Phone 8
你这里需要提供以上三种分辨率的图标并且使用命名规范,并且放在 Assets文件夹下 这样你就可以看到你的应用在不同分辨率下 Lens picker中的Icon 这里可以看到我偷懒就直接使用的SDK的图标但是 效果已经有啦~
这里我在啰嗦一句 如果你希望做出以下这种可以适应系统的颜色变化的效果 就用PNG透明图片即可。
点击Lens按钮后会出现支持Lens API的所有应用列表 点击列表中的某一个应用图标后会通过Deep Link的形式跳转(打开)至目标应用。处理这种Deep Link的方法请参考 Windows Phone 8 中的应用间通信 也可以参考MSDN :(v=vs.105).aspx