当前位置: 首页 > news >正文

Windows Mobile 6 SDK 中的 Cellular Emulator

现在的 Windows Mobile 设备大多数都拥有电话和其他无线通信的功能。在许多情况下,你想让你的应用程序跟这些通信功能进行交互。例如,你想在电话响起的时候,将你的应用程序播放音乐的声音调小;或者需要直接对通信硬件进行各种操作。那么开发这种类型的应用程序往往比较困难,最大的难点在于测试应用程序。

为了解决测试这种应用程序的困难,Windows Mobile 6 SDK 包含了 Cellular Emulator(蜂窝仿真器)。Cellular Emulator 让你能够在 Device Emulator 中,测试你的应用程序在各种蜂窝通信的情况下的行为。



Cellular Emulator 是一个强大的测试工具,它可以用于测试你的应用程序在蜂窝通信状况变化时的行为。用 Cellular Emulator 可以执行一些简单的测试,如:在仿真器中拨打电话,接听来电和挂断电话,发送和接收 SMS 信息等。为了让开发人员可以测试更复杂的功能,Cellular Emulator 还支持对 SIM 配置信息的修改,还有选择2G网络还是3G网络。所有这些测试工作都不需要用到一台物理设备。

要让 Cellular Emulator 和 Device Emulator 可以一起配合使用,首先你需要把他们关联起来。
1. 记下 Cellular Emulator 左下角状态栏的 COM 端口号。如 COM5。
2. 在 Device Emulator 中选择“File-->Configure...”菜单项,打开 Emulator Properties 对话框。
3. 在 Emulator Properties 对话框中选择 Peripherals 选项卡。
4. 把刚才记下的 COM 端口号输入到 Serial Port 0 文本框中。如果你在下拉列表中找不到你的端口号,可以自己输入进去。
5. 点击 OK 按钮保存设置,关闭 Emulator Properties 对话框。
6. 点击“File-->Reset-->Soft”菜单项,对仿真器进行软重置操作。



待仿真器完成重置过程并重新启动后,你将会看到仿真器的蜂窝网络已经可用了。如果还是不行,可能是安装了 Windows Mobile 6 SDK 之后,没有重新启动系统的原因吧。

给仿真器拨打电话
打开 Cellular Emulator 的 Call Manager 选项卡,在 Phone Number 文本框中输入任意一个电话号码,点击旁边的 Dial 按钮,仿真器的电话铃声将响起,并显示来自所输入的电话号码的来电。这时在 Active Calls 列表中将出现仿真器上的活动通话,Status 显示为 Incoming。
用7272024这个电话号码向仿真器拨打电话:


仿真器收到电话号码为7272024的来电:


从仿真器拨打电话
Preset Number 列表中提供了4个可供测试的电话号码。Busy 表示线路忙,Reject 表示拒绝接听,Hang Up After Connect 表示接听后再挂断,No Answer 表示没有回应。尝试在仿真器中拨打7272021,Cellular Emulator的 Active Calls 列表将显示仿真器当前的活动通话。电话接通后持续了10秒钟,然后挂断,也就是Hang Up After Connect




向仿真器发送 SMS 信息
打开 Cellular Emulator 的 SMS 选项卡,在 Send to device 的多行文本框中输入短信内容,然后点击 Send 按钮将短信发送至仿真器。


仿真器将收到新短信:


还可以设置重复发送。选中 Repeatly 检查框,设定好 Interval(间隔时间)和 Max Count(最大数目),然后再点击 Send 按钮即可。如果你在仿真器中回复了信息,将会在 Cellular Emulator 的 Receive from device 列表中看到你回复的短信。


选择网络
打开 Cellular Emulator 的 Network 选项卡,可以选择2G或者3G网络,断开 GPRS 连接,查看数据通道等。


执行和查看 AT 命令
打开 Cellular Emulator 的Injection 选项卡,这里可以向仿真器发送 AT 命令或事件。


打开 Cellular Emulator 的AT log选项卡,可以看到刚才所有对仿真器的操作对应的 AT 命令。


使用配置文件
这里可以选择使用哪一个 SIM 配置文件,文件内容是 XML 格式。


总结
有了 Cellular Emulator 的配合,Device Emulator 显得更加强大。现在 Windows Mobile 6 开发人员可以使用仿真器进行开发和测试,而不需要购买各种真实设备。遗憾的是,Cellular Emulator 并不支持 Windows Mobile 5.0 和 Windows Mobile 2003 的仿真器。不过好在 Windows Mobile 6 的 API 跟 Windows Mobile 5.0 的绝大部分一样,所以你可以在 Windows Mobile 6 的仿真器中开发和调试 Windows Mobile 5.0 的应用程序。对于 Windows Mobile 2003 可能测试效果没有那么一致,你也可以自己尝试一下。

参考:
What's New for Developers in Windows Mobile 6

原文地址:http://www.cnblogs.com/upto/archive/2007/02/14/cellular-emulater-in-wm6sdk.html

相关文章:

  • Windows Mobile 6 SDK 中的 GPS 工具
  • 《动手学深度学习》(PyTorch版)代码注释 - 33 【RNN_with_simple_way】
  • 《动手学深度学习》(PyTorch版)代码注释 - 34 【GRU_with_zero】
  • MEDC2007北京游记 - WindowsMobile Ophone
  • 《动手学深度学习》(PyTorch版)代码注释 - 35 【GRU_with_simple_way】
  • 祝贺CICI拿到VISA
  • 《动手学深度学习》(PyTorch版)代码注释 - 36 【LSTM_with_zero】
  • WPF/E去了,Silverlight来了
  • iPhone - 少一点自恋,多一点现实 !
  • 《动手学深度学习》(PyTorch版)代码注释 - 37 【LSTM_with_simple_way】
  • FerryMan Fractal的: 23312506
  • 《动手学深度学习》(PyTorch版)代码注释 - 38 【Gradient_descent_Learning】
  • 鲁迅先生
  • 《动手学深度学习》(PyTorch版)代码注释 - 39 【Small_batch_stochastic_gradient_descent】
  • 《动手学深度学习》(PyTorch版)代码注释 - 40 【Momentum_method】
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • JavaScript新鲜事·第5期
  • npx命令介绍
  • Swift 中的尾递归和蹦床
  • vue:响应原理
  • vue数据传递--我有特殊的实现技巧
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从输入URL到页面加载发生了什么
  • 关于 Cirru Editor 存储格式
  • 区块链分支循环
  • 如何进阶一名有竞争力的程序员?
  • 算法-插入排序
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • kubernetes资源对象--ingress
  • Spring第一个helloWorld
  • !$boo在php中什么意思,php前戏
  • (70min)字节暑假实习二面(已挂)
  • (C语言)二分查找 超详细
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (算法)Travel Information Center
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)Sublime Text3配置Lua运行环境
  • ***测试-HTTP方法
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET 指南:抽象化实现的基类
  • .NET4.0并行计算技术基础(1)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [20161214]如何确定dbid.txt
  • [20181219]script使用小技巧.txt
  • [Android]常见的数据传递方式
  • [Angular 基础] - 表单:响应式表单
  • [bzoj2957]楼房重建
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改