WP8.1和Win8.1的不同之处
本文仅是个人见解,如有不足或错误之处欢迎批评指正~
1、Toast:
创建Toast代码差不多但实现机制及管理上不一样
2、ApplicationData:
WP8.1多了一个LocalCacheFolder,Win8.1没有
3、Association launching :
WP8.1中新增了File Launch和Url Launch,这两种Launch和Win8.1原有的不一样,要比Win8.1的麻烦,需要写接口和在App.cs中做修改。并且WP8.1的Association launching相比Win8.1还是比较少的,只能说P8.1的Association launching比较迁就。
4、锁屏后继续运行:
WP8.1中的锁屏后继续运行的监视方法已经改变,并不是请求是否要锁屏后继续运行,锁屏后继续运行的方法和Win8时代方法的一样,改为VisibilityChanged了,这个可以在按下Windows键和电源键锁屏页面消失(不是跳转)时触发,如果是页面跳转即Navigate会触发NavigatedForm。在按下Windows徽标键和锁屏键才触发的不触发OnNavigatedFrom,而OnNavigatedFrom是在页面跳转触发的,还要注意VisibilityChanged的注册和注销
5、后台任务:
WP8.1的后台任务已经全部采用了Win8.1的。而Win8.1的较Win8的没有变化。(注:请求锁屏BackgroundExecutionManager.RequestAccessAsync()的时候在 Windows 上,此方法通过对话框显示请求应用程序添加到锁定屏幕的用户。在 Windows Phone 上,此方法不会提示用户,但是必须在注册任何后台任务前调用此方法。)
6、后台传输:
Win8.1较Win8的后台任务,新添加了TransferGroup,添加了Notification。WP8.1的后台传输则和Win8.1的完全一样。
7、文件操作:
相同点:创建、删除、复制、文本方式bytes字节方式和stream方式读写数据、文件属性都一样,都还有个StorageApplicationPermissions,用这个可以方便的访问之前访问过的文件。 不同点:Win8.1多了个storageFolder.TryGetItemAsync来判断文件是否存在,WP8.1没有,需要自己去判断是不是存在。在StoredHelper里写了 Win8.1可通过file.GetParentAsync();获取文件所在的文件夹,WP8.1没有 Win8.1可通过file.IsEqual(comparand)来判断两个文件是否一样,WP8.1没有
8、Picker和Save:
WP8.1也有选取文件和保存文件了,以选取的方式允许用户去选择文件夹和对文件命名的而不是自动保存保存网络图片文件至本地保存文本至本地文件,可参照Metro版IT之家
9、推送通知:
客户都对推送通道ChannelUri的操作Win8.1和WP8.1完全一样,服务器端应该和Win8时代的一样。通知轮询和周期性发送通知是不一样的。
10、二级磁贴:
WP8.1已经完全采用Win8.1的,两者统一。
11、微软帐户信息:
WP8.1也像Win8.1那样能够拿到登录到这台设备的用户微软帐户信息。
12、AppBar:
Win8.1有TopAppBar和BottomAppBar。而WP8.1只有BottomAppBar,并且和WP8的完全不一样,可以对AppBar绑定了。
13、WebView:
WP8.1抛弃了WP的WebBrowser,统一改用Win8.1的WebView。并且WebView有了新用法,使用ms-appx-web:///可以直接加载本地文件,还提供一种方法来将 URI 转换为供 WebView.NavigateToLocalStreamUri 方法使用的内容流 IUriToStreamResolver
注:await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///html/html_example.html"))和await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("html\\html_example2.html");等同