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

Changwei | 11/15/2014 5:25:00 PM


在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文档,希望这些对大家有用。