Win(Phone)10开发第(1)弹,桌面和手机的扩展API,还我后退键
喜大普奔的win10 uap开发预览版终于出了,这次更新跟8.1的变化不是很大,但是将原本win8.1和wp8.1uap的分项目的形式,改为了整合成一个项目,经过一次编译打包成一个appx包,实现了无缝跨平台。
每一个平台特有的API,就变为了扩展API,以下几种

下面,就以wp特有的后退键为例,看一下不同平台扩展api的使用。
如果你新建一个win10UAP的项目,跑在wp上运行,你会发现,后退键竟然他喵的是后台!这不是抢Home键的饭碗么!
自带的几种风格的页面,竟然是用的左上角虚拟后退键,这种倒行逆施的行为微软你真是够了!
一定要把后退功能找回来!!
于是就用到了扩展api:
1.Add References
2.选择 Universal App Platform – Extensions
3.勾选Windows Mobile Extension SDK
4.愉快的使用 Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
这句代码放到win10桌面里运行是会crash的,因为桌面版里没有此API,所以需要用
Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")
运行时判断是否有该API的支持。
于是,最后的代码可能是这样:
|
1
2
3
4
5
|
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.Phone.UI.Input.HardwareButtons")) { //http://www.liubaicai.net/archives/444
Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed; Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed; } |
|
1
2
3
4
5
6
7
8
9
|
private void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e){ //http://www.liubaicai.net/archives/444
e.Handled = true; Frame rootFrame = Window.Current.Content as Frame; if (rootFrame.CanGoBack) rootFrame.GoBack(); else Application.Current.Exit();} |
于是就愉快的实现了后退键后退的功能。
Win(Phone)10开发第(1)弹,桌面和手机的扩展API,还我后退键的更多相关文章
- win10桌面和手机的扩展API,判断是否有实体后退键API
喜大普奔的win10 uap开发预览版终于出了,这次更新跟8.1的变化不是很大,但是将原本win8.1和wp8.1uap的分项目的形式,改为了整合成一个项目,经过一次编译打包成一个appx包,实现了无 ...
- Win(Phone)10开发第(7)弹,Extended Execution
众所周知,在WindowsPhone8中,app在转入后台并且没有挂起的这段时间是可以继续运行的,此时可以继续执行程序的操作,这个功能在位置追踪app中时很有用的,当接电话来短信或者锁屏后不影响程序运 ...
- Win(Phone)10开发第(5)弹,本地媒体服务器的一些注意事项
首先有个wp上的http服务器 http://wphttpserver.codeplex.com/ 使用方式: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...
- Win(Phone)10开发第(4)弹,HTTP 实时流播放 m3u8
其实这篇只有一句话,win10原生支持HLS啦 1 2 3 AdaptiveMediaSourceCreationResult amsResult = await AdaptiveMediaSourc ...
- Win(Phone)10开发第(3)弹,简单的Demo程序网络请求json解析列表显示
先分享一个由Json字符串直接生成解析对应的类的工具: jsonclassgenerator14 百度天气接口 下面是由一个小功能(又特么的是天气)的实现,记录下下UAP的流程和结构(其实跟之前一模一 ...
- Win(Phone)10开发第(2)弹,导出APPX包并签名部署
当我们新建一个win10 uap项目,如果想导出测试包,需要点击项目名称,选择商店-导出应用包,这个时候会生成一个文件夹,包含appx和ps1等文件. powershell运行Add-AppDevPa ...
- Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构
分享两篇Win 10应用开发的XML文档结构:Win 10 开发中Adaptive磁贴模板的XML文档结构,Win10 应用开发中自适应Toast通知的XML文档结构. Win 10 开发中Adapt ...
- 第三十二篇、iOS 10开发
1.语音识别 苹果官方在文档中新增了API Speech,那么在以前我们处理语音识别非常的繁琐甚至很多时候可能需要借助于第三方框架处理,那么苹果推出了这个后,我们以后处理起来就非常的方便了,spe ...
- Windows 10 开发人员预览版中的新增功能(转自 IT之家)
Windows 10 开发人员预览版中的新增功能 在Win10预览版中安装工具与SDK后,即可着手创建Windows通用应用或先浏览目前的环境与此前相比都发生了什么变化. 应用建模 文件资源管理器: ...
随机推荐
- python之多线程队列
# 一共有以下3种队列# 1.先进先出# 2.后进先出# 3.存储数据的时候可设置优先级的队列,设置不同的优先级,取的时候按照优先级的顺序来取 下面介绍一下队列的方法,如果要使用队列,则需要导入一个模 ...
- C# 发送电子邮件(含附件)用到的类 system.web.mail
主要是用到了System.Web.Mail命名空间,用到了此空间的三个类,分别是: ●MailMessage类,用于构造电子邮件●MailAttachment类,用于构造电子邮件附件●SmtpMail ...
- js this pointer 指针
this JavaScript的函数内部如果调用了this,那么这个this到底指向谁? 答案是,视情况而定! 如果以对象的方法形式调用,比如xiaoming.age(),该函数的this指向被调用的 ...
- PAT 1083 是否存在相等的差(20)(代码+思路)
1083 是否存在相等的差(20 分) 给定 N 张卡片,正面分别写上 1.2.--.N,然后全部翻面,洗牌,在背面分别写上 1.2.--.N.将每张牌的正反两面数字相减(大减小),得到 N 个非负差 ...
- LINUX 笔记5
配置环境变量:(只是在当前命令行窗口中有用) 单独查看PATH环境变量,可用: [root@localhost u-boot-sh4]#echo $PATH 添加PATH环境变量,可用: [root@ ...
- [BAT]cmd命令之 cd /d %~dp0
cd /d %~dp0是什么意思啊?批处理文件中的一条语句意思是 更改当前目录为批处理本身的目录 有些晕吧?不急,我举例 比如你有个批处理a.bat在D:\qq文件夹下 a.bat内容为 cd /d ...
- easyui datagrid 分页 客户分页
1.写好json 数据 { "total":21, ...
- window.load 和$(document).ready() 、window.load和body onload区别
1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕.2.编写个数不同 w ...
- Dice 5 ==> dice 7
https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...
- Number.isInteger在IE中报错的解决方法
if (!Number.isInteger) { Number.isInteger = function(num) { return typeof num == "number" ...