Windows Phone开发手记-WinRT下启动器替代方案

在WP7/8时代,Silverlight框架提供了很多启动器API,我们可以很方便的使用的,来完成一些系统级的操作。但是随着Win RT架构的WP8.1(SL 8.1除外)的到来,原有的SL下的启动器API均不再可用。所幸,Win RT框架下提供的一些基于Uri协议的方案弥补了部分原有的功能缺失。今天我给大家分享,一些Win RT下的一些启动协议。

1.调用系统内置app

使用方式:

await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:"));

 

Uri 方案说明
ms-settings-airplanemode: 启动“飞行模式”设置页面。
ms-settings-bluetooth: 启动“蓝牙”设置页面。
ms-settings-camera: 启动“照片 + 相机”设置页面。
ms-settings-cellular: 启动“手机 + SIM”设置页面。
ms-settings-emailandaccounts: 启动“电子邮件 + 帐户”设置页面。
ms-settings-location: 启动“位置”设置页面。
ms-settings-lock: 启动“锁屏”设置页面。
ms-settings-notifications: 启动“通知 + 操作”设置页面。
ms-settings-power: 启动“节电模式”设置页面。
ms-settings-proximity: 启动“NFC”设置页面。
ms-settings-screenrotation: 启动“屏幕旋转”设置页面。
ms-settings-wifi: 启动“Wi-Fi”设置页面。
ms-settings-workplace: 启动“工作区”设置页面。

 

2.其他系统保留Uri协议

Windows Phone 为内置应用保留以下 Uri 方案。

bing、callto、dtmf、http、https、mailto、maps、ms-excel、ms-powerpoint、ms-word、office、onenote、tel、wallet、xbls、zune

Windows Phone 为操作系统保留以下 Uri 方案。

Explorer.AssocActionId.BurnSelection、Explorer.AssocActionId.CloseSession、Explorer.AssocActionId.EraseDisc、Explorer.AssocActionId.ZipSelection、Explorer.AssocProtocol.search-ms、Explorer.BurnSelection、Explorer.CloseSession、Explorer.EraseDisc、Explorer.ZipSelection、File、Iehistory、Ierss、Javascript、Jscript、LDAP、Res、rlogin、StickyNotes、telnet、tn3270、Vbscript、windowsmediacenterapp、windowsmediacenterssl、windowsmediacenterweb、WMP11.AssocProtocol.MMS

根据协议名称均可明白起所启动app,使用方式同上:

await Windows.System.Launcher.LaunchUriAsync(new Uri("maps:"));

3.与应用商店相关Uri协议

应用商店跳转,评分等api对开发者来说是十分重要,不行的是Win RT下带来了很大的变化,如下:

//商店根据appid跳转
var uri = new Uri(string.Format(@”zune://navigate/?appid={0}”, appid));
//关键字搜索
var uri = new Uri(string.Format(@”zune://search/?keyword={0}”,keyword));
//商店根据appid跳转评论
var uri = new Uri(string.Format(@”zune://reviewapp/?appid={0}”, appid));
await Windows.System.Launcher.LaunchUriAsync(uri);

 

总结:

WP8.1还有很多较大的变化,但是其本质和SL相似,碰到这些变化,需要我们多留心下相关的API文档,希望这些对大家有用。

posted @   msp的昌伟哥哥  阅读(1081)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示