WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]

首先介绍一下本篇需要解决的问题和解决思路。

开发过WindowsPhone应用程序的开发者都知道使用PhoneCallTask可以进行拨打电话,但是调用Show()方法之后,无法知道用户是否进行了拨打电话?
可以通过一种折中的办法实现获取用户是否进行了拨打电话的操作,具体思路为:
1.       使用PhoneApplicationPage的ObscuredUnobscured事件。
2.       当界面中有拨号界面或其他UI界面弹出时,会执行上诉两个事件。
3.       通过监测这两个事件的执行顺序和执行次数就可以判断出是否进行拨打电话操作。
特别鸣谢:“顺手拨”软件开发者针对此问题提供解决方案思路。
下面通过具体Demo演示如何进行实现该效果的:
1.       新建名为PhoneCallTaskSolution的WindowsPhone项目。
2.       MainPage.xaml中添加触发按钮。如图:
 

WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]

3.       生成相应的Button_Click事件,添加PhoneCallTask相应代码。如图: 

WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]   

4.       在OnNavigatedTo事件中,实例化PhoneApplicationFrame对象,然后注册Obscured和obscured两个事件,具体代码如下:

WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]
5. 声明一个int类型变量,标示不同UI元素覆盖MainPage页面次数。
 WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]
6. 实现root_Obscured和root_Unobscured方法。
 WindowsPhone获取是否进行拨电话信息[使用PhoneCallTask]
总结:使用以上办法可以实现判断用户是否进行拨打电话操作。
参考文章:
2.       Obscured事件和Unobscured事件;






 本文转自 王祖康 51CTO博客,原文链接:http://blog.51cto.com/wzk89/860262,如需转载请自行联系原作者
上一篇:用min-width/max-width实现图片缩放裁切


下一篇:C++游戏系列4:杀伤距离有限制