windows phone的mmi测试

作者&投稿:慕供 (若有异议请与网页底部的电邮联系)
如何检测 Windows Phone 的网络更改~

当应用程序启动时,它会列出所有可用的网络接口。它还会订阅以接收网络可用性更改的通知。当发生更改时,将会激发 NetworkAvailabilityChanged 事件。该应用程序会处理此事件,并将更改输出为 UI 上列表的一个字符串。该应用程序还会提供一种启动 ConnectionSettingsTask 以手动打开或关闭网络设置的方式。创建应用程序用户界面在Visual Studio�0�22010 Express for Windows�0�2Phone 中,通过选择“文件 | 新建项目”菜单命令创建一个新项目。将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Silverlight for Windows Phone”模板。选择“Windows Phone 应用程序”模板。在“名称”中填入您选择的名称。单击“确定”。将创建一个新的项目,并且“MainPage.xaml”将在Visual Studio 设计器窗口中打开。在“MainPage.xaml”中,删除名为“LayoutRoot”的 Grid 的XAML 代码,然后使用以下代码进行替换:XAML前面的 XAML 代码会创建一个类似于以下屏幕截图的简单用户界面。UI 分为四个部分。在屏幕的顶端,我们将会显示所有可用的网络接口。可以从 NetworkInterfaceList 集合中检索此数据。在应用程序启动后,只要应用程序接收到 NetworkAvailabilityChanged 事件,就会加载它。屏幕的下一部分将会显示有关应用程序接收的关于任何 NetworkAvailabilityChanged 事件的信息。屏幕的下一部分会显示手机网络功能的整体状态。最后,屏幕的底端会显示一个按钮,该按钮用于启动 ConnectionSettingsTask 以手动更改网络设置,并激发 NetworkAvailabilityChanged 事件。以下各节中介绍了驱动此 UI 的代码。注册网络可用性更改为了检测网络可用性的更改,应用程序会注册 NetworkAvailabilityChanged 事件。注册网络可用性更改打开“MainPage”的代码隐藏文件,并将下列 using 指令添加到页面的顶部。C#using System.Collections.ObjectModel; using Microsoft.Phone.Net.NetworkInformation; using Microsoft.Phone.Tasks; 在MainPage 类顶部添加以下变量声明。C#// List of all changes detected while the app is running.public ObservableCollection Changes { get; set; } // List of all currently available network interfacespublic ObservableCollection NetworkInterfaces { get; set; } 使用下面的代码替换代码隐藏类中的 MainPage 构造函数。此方法会初始化页面,将 UI 绑定到上一个步骤中声明的列表并订阅 NetworkAvailabilityChanged 事件。此事件的回调方法被定义为 ChangeDetected,并且这会在后续步骤中进行介绍。最后,它会调用两种方法以初始化 UI 的“网络接口”和“网络状态”区域。这些方法会在后面的步骤中定义。现在我们已经注册了网络可用性更改。下一节介绍如何解释检测的更改。C#// Constructorpublic MainPage() { InitializeComponent(); // Initialise the Changes list. Changes = new ObservableCollection(); // Bind the ListBox to the Changes list lbNetworkChanges.DataContext = Changes; NetworkInterfaces = new ObservableCollection(); lbNetworkInterfaces.DataContext = NetworkInterfaces; // Subscribe to the NetworkAvailabilityChanged event DeviceNetworkInformation.NetworkAvailabilityChanged += new EventHandler(ChangeDetected); UpdateNetworkInterfaces(); UpdateNetworkStatus(); } 处理网络可用性更改在上一节中,我们注册了 NetworkAvailabilityChanged 事件。只要检测到更改,就会调用我们在注册事件时定义的回调。本节中介绍了如何处理该回调方法中接收的数据。处理网络可用性更改在代码隐藏文件中,添加以下方法。这是我们在订阅 NetworkAvailabilityChanged 事件时提供的回调方法。NetworkNotificationEventArgs 参数包含所有与我们通知的变更相关的信息。在本示例中,我们会生成一个信息字符串,该字符串可以告知用户检测到何种更改、出现此更改的接口名称,以及此接口的类型。我们会将此信息字符串添加到与 UI 的“事件”区域绑定的 Changes 列表中。因此,添加此字符串时后,UI 的事件区域就会立即利用此附加信息进行更新。此时,UI 的网络接口列表和网络状态区域也会更新。因为这些操作为 UI 交互,不会在 UI 线程上激发事件,所以我们会将 UI 交互包装在 BeginInvoke 中以确保它们在 UI 线程上执行。执行失败将会导致应用程序中跨线程违反异常。C#// In this callback, we examine the change that was detected. In this example, we are // creating a simple information string and adding that to the event list on the UI. // In a real application, this is where you might adjust your communication connection // in order to take advantage of a network availability change. void ChangeDetected(object sender, NetworkNotificationEventArgs e) { string change = string.Empty; switch (e.NotificationType) { case NetworkNotificationType.InterfaceConnected: change = "Connected to "; break; case NetworkNotificationType.InterfaceDisconnected: change = "Disconnected from "; break; case NetworkNotificationType.CharacteristicUpdate: change = "Characteristics changed for "; break; default: change = "Unknown change with "; break; } string changeInformation = String.Format(" {0} {1} {2} ({3})", DateTime.Now.ToString(), change, e.NetworkInterface.InterfaceName, e.NetworkInterface.InterfaceType.ToString()); // We are making UI updates, so make sure these happen on the UI thread. Dispatcher.BeginInvoke(() => { Changes.Add(changeInformation); UpdateNetworkStatus(); UpdateNetworkInterfaces(); }); } 在MainPage 类中,添加以下方法。这些方法会更新 UI 的“网络接口”和“网络状态”区域。在应用程序启动后,只要网络可用性发生更改,就会调用它们。UpdateNetworkInterfaces 会实例化 NetworkInterfaceList 对象以填充我们在此类中类级别范围上定义的 NetworkInterfaces 列表。因为 UI 的“网络接口”区域以绑定到此列表,并且该列表为 ObservableCollection,所以进行这些操作时 UI 将会利用这些更改进行更新。UpdateNetworkStatus 方法会使用 DeviceNetworkInformation 对象上的静态属性更新 UI 的“网络状态”区域。这些是布尔型数值,但是为了简单起见,我们会将这些内联转换为简单的“Yes”和“No”字符串。这是将 boolean 用作stringtypeconverter 的一个替代方法。C#privatevoid UpdateNetworkInterfaces() { NetworkInterfaces.Clear(); NetworkInterfaceList networkInterfaceList = new NetworkInterfaceList(); foreach (NetworkInterfaceInfo networkInterfaceInfo in networkInterfaceList) { NetworkInterfaces.Add(networkInterfaceInfo.InterfaceName); } } privatevoid UpdateNetworkStatus() { tbIsCellularDataEnabled.Text = (DeviceNetworkInformation.IsCellularDataEnabled) ? "Yes" : "No"; tbIsNetworkAvailable.Text = (DeviceNetworkInformation.IsNetworkAvailable) ? "Yes" : "No"; tbIsWiFiEnabled.Text = (DeviceNetworkInformation.IsWiFiEnabled) ? "Yes" : "No"; } 测试应用程序本节演示如何引起网络变更以激发应用程序中的 NetworkAvailabilityChanged 事件。它会使用 ConnectionSettingsTask 来打开和关闭手机上的 AirplaneMode。在此操作结束后,您可以导航回应用程序的主页面,并在屏幕的“事件”区域中查看结果事件。演示网络更改的这一方法具有一定限制。尤其是,启动 ConnectionSettingsTask 会导致应用程序被置于后台中。当其位于后台中时,将不会接收到任何事件。当导航回应用程序时,它才会回到前台。这意味着会出现有时候未获取到某些网络可用性更改。但是,此方法足以演示应用程序的行为了。在现实世界中,当连接和取消连接 WLAN 连接时,当您移出网络连接的范围时或者当连接的特征发生变更时,应用程序网络更改就发生了。例如,当您在手机网络上漫游时,网络特征会更改。重要说明:建议在物理设备上测试应用程序(与模拟器相对)。这是因为模拟器不会激发这些事件。相反,那样是使用 USB 连接将物理设备连接到桌面并进行调试。测试应用程序的步骤在应用程序中的 MainPage 代码隐藏文件中,添加以下事件处理程序。此方法会启动飞行模式的 ConnectionSettingsTask。您可以使用此任务打开和关闭飞行模式。当飞行模式为打开状态时,所有网络连接将会关闭。当飞行模式为关闭状态时,所有网络连接将会恢复。使用此方法,您可以更改飞行模式设置,导航回应用程序,并观察更改飞行模式引起的网络可用性更改。C#// For testing purposes, we provide a way to change the network connection// settings by launching the ConnectionSettingsTask. However, because we are moving // our application to the background and then to the foreground when we navigate back from// the ConnectionSettingTask, there is a chance we may not receive all NetworkAvailabilityChanged events.// Alternatively, you can test by physically disconnecting a Wi-Fi connection, by connecting and disconnecting// your device to your desktop, or by moving out of range of your Wi-Fi network.privatevoid btnChangeNetworkSettings_Click(object sender, RoutedEventArgs e) { MessageBox.Show("This action will launch the ConnectionSettingsTask where you can change the network settings." + " As soon as you have made your changes, use the hardware Back button to get back to this page so that you can observe the NetworkAvailabilityChanged events."); //Use the ConnectionSettingsTask to bring up the connection settings ConnectionSettingsTask connectionSettings = new ConnectionSettingsTask(); // We are using the Connection Settings page for AirplaneMode. connectionSettings.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode; connectionSettings.Show(); // Note: Once you have changed the settings (switched from On to Off for example)// use the hardward Back button on your device to go back to this page and catch// the NetworkAvailabilityChanged events. } 通过选择“调试|启动”调试(F5) 菜单命令运行应用程序。应用程序将会启动,并且当前可用网络接口会在 UI 的“网络接口”区域中显示。网络的当前状态也会在 UI 的“网络状态”区域中显示。如果您正在使用物理设备,您可以通过以物理方式关闭 WLAN 网络、移出网络范围、取消设备与 USB 连接的连接(连接到桌面时)以及许多其他方式初始化网络更改。此外,您还可以按应用程序上的“更改网络设置”按钮,这会启动 ConnectionSettingsTask。打开或关闭“飞行模式”,然后在切换飞行模式后尽快使用手机硬件“返回”按键返回到应用程序。当网络可用性更改发生时,您可以在应用程序的“事件”区域中观察它们。每次接收到更改时,还会更新“网络接口”和“网络状态”区域。

向应用添加控件的步骤在 Visual Studio 中,在页面的 XAML 文件中,添加以下代码:<TextBox Height="72" Margin="12,70,0,0" Name="textBox1" Text="Hello World" VerticalAlignment="Top" /<TextBox Height="72" Margin="12,203,0,0" Name="textBox2" Text="" VerticalAlignment="Top" /在模拟器中运行应用的步骤在 Visual Studio 的标准工具栏上,将应用的部署目标设置为模拟器的选项之一。在“调试”菜单中,单击“开始执行(不调试)”。模拟器将打开,随后应用将启动。在应用中测试复制和粘贴功能的步骤在模拟器中运行的应用的屏幕上,在包含“Hello World”的文本框中单击。屏幕键盘将出现。使用鼠标单击单词“Hello”。单词“Hello”已选定并且出现复制图标。单击复制图标。粘贴图标将出现在屏幕键盘的顶部。单击文本框外部关闭屏幕键盘。在第二个空文本框内部单击。屏幕键盘将出现,同时粘贴图标出现在屏幕键盘的顶部。单击粘贴图标。已复制的单词将粘贴到第二个文本框中。

爱应用为您解答:

热点: hdmi测试仪优势: 一站式解决 | 专业提供 | 3D显微镜
专业提供手机mmi测试自动化测试一站式解决方案, 设计开发的手机性能测试系统,该系统已经被国际上各大运营商认可。适合手机平板电脑等


锦江区18531298542: Windows Phone8 的NFC功能能干什么? -
威受十二: NFC功能即近场通信(英语:Near Field Communication,NFC),又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输,在十厘米(3.9英吋)内,交换数据.目前Windows Phone8 的NFC应用主要有:1、实现俩台Windows Phone8设备照片、视频、网址的共享;2、NFC用于启动应用,如打开应用、分享至社交媒体、打电话等等;3、NFC可用于支付:你可以将信用卡输入手机中,然后只需将手机放在收银台的传感器前即可完成支付.

锦江区18531298542: 如何获取windows phone手机 IMEI IMSI号
威受十二: 是的,系统不让获取的,你可以试试那个Native.dll的.看看有没有方法.

锦江区18531298542: 怎么样获取windows phone的设备id呢?
威受十二: object uniqueID = DeviceExtendedProperties.GetValue("DeviceUniqueId"); byte[] bID = (byte[])uniqueID; String deviceID = Convert.ToBase64String(bID);

锦江区18531298542: windowsphone我的家人要如何设置 -
威受十二: 1、在计算机上,访问 Windows Phone 网站上的“我的家人”.2、使用父母的 Microsoft 帐户登录.如果父母没有 Windows Phone,没有关系 - 您仍然可以设置“我的家人”.如果父母没有 Microsoft 帐户,可以创建一个.3、在“我的家人”设置页上,单击“开始使用”.(如果之前已将孩子添加到“我的家人”,或使用其他 Microsoft 服务设置了家人,则可能看不到“开始使用”,并且只能单击“添加儿童”.)4、若要将孩子添加到“我的家人”,请单击“开始”.在登录页上,输入孩子用于登录到他们手机的 Microsoft 帐户.现在,孩子将可以从 Windows Phone 应用商店下载应用.

锦江区18531298542: 如何查看 Windowsphone 8 手机的 MAC 地址 -
威受十二: mac地址,俗称硬件地址,每个手机/电脑/pad都对应唯一一个mac地址,现在我们就看一下wp8手机如何查看mac地址.首先,打开wp8的设置(本文以htc8x为例,其他wp8手机基本相同),如下图:往下滑动,在设置里面找到“关于”并将其打开:点击"更多信息",如图所示就是mac地址 记住你的mac地址,在设置无线路由的时候可以设置仅允许你的mac地址来以防别人蹭网.

锦江区18531298542: 手机标识windows phone是什么手机 -
威受十二: Windows Phone(简称:WP)是微软发布的一款手机操作系统.它将微软旗下的Xbox Live游戏、Xbox Music音乐与独特的视频体验集成至手机中.微软公司于2010年10月11日晚上9点30分正式发布了智能手机操作系统Windows Phone,并将...

锦江区18531298542: 如何打印Windows Phone上的内容 -
威受十二: 虽然Windows Phone原生并不支持打印,但Windows Phone Central 的论坛上已经就如何打印Windows Phone内容展开了激烈讨论.如果你对实现这一功能感兴趣,那么请继续阅读.如果你有一台Brother的打印机或者一体机,那么Brother ...

锦江区18531298542: Windows Phone语音指令该如何使用?
威受十二: 作为Windows phone 8在语音功能的重要提升,全新的Speech语音助手允许用户通过使用特定的语音指令,来呼出手机中的一些内置功能或是进行直接语音操作,用户只需进入“设置→语音”即可看到相应的设置选项.在设置界面中可以看到...

锦江区18531298542: windows phone的缺点有哪些? -
威受十二: 全新的Windows Phone系统已经有了大概的了解,而下面就给大家罗列几点该系统的缺点. 1.不支持中文界面虽然界面是中文版的,但也存在着不少的BUG,比如会发生偶尔死机或者重启等情况.目前最新的是7392版本系统,增加了复制粘...

锦江区18531298542: windows phone如何连接电脑 -
威受十二: 你如果是第一次连接电脑的话,需要等计算机识别设备,它会给你安装一个叫“Windows phone”的东东.然后在我的电脑就可以看到“便携设备”里有Windows phone的wp图标了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网