Product Documentation

Mobile SDK for Windows Apps

May 13, 2016

Mobile SDK for Windows Apps 为 Windows 程序提供一个移动设备编程接口,这些程序将托管在 Citrix 中并交付给安装了 Citrix Receiver 的任意设备。SDK 为企业的 Windows 开发人员提供了开发 Windows 应用程序的方法,这些应用程序可以具有带本机移动应用程序特征的功能和行为。SDK 所提供的功能大大提升了用户体验。

开发人员可以将 SDK 与最能满足其需求的 Windows 应用程序开发框架结合使用。 从 Citrix 下载页面下载 SDK。

典型的 Windows 应用程序以可扩充的桌面空间为基础,并能够使用键盘和鼠标。旧版 Windows 应用程序不支持屏幕键盘及移动设备所特有的其他功能。通过 Mobile SDK for Windows Apps,Windows 开发人员可以编写新的应用程序并改进现有应用程序,以交付给受支持的移动设备。

Mobile SDK for Windows Apps 使 Windows 应用程序能够控制移动设备功能,例如:

  • 按钮 – 获取当前按钮目标,设置按钮目标,并指定是否处理在服务器或移动设备上按下按钮的操作。
  • 相机 – 使用移动设备的内置相机拍摄、下载及删除图片。获取图片状态信息。
  • 设备属性 – 检索设备功能支持信息。
  • 显示 – 获取及设置移动设备屏幕指标,如方向、滚动模式和显示区原点,以保证文本内容易读,控件易用。
  • 键盘 – 检查键盘状态,并控制是显示还是隐藏屏幕键盘。键盘状态包括键盘类型、键盘标记、自动大写、返回键类型和编辑字段矩形框。
  • 通知 – 使用声音、震动、灯光和文本通知用户有关特殊事件的信息。
  • 电话 – 根据服务器上的联系人列表拨打电话。
  • 选取器控件 – 使用设备本机控件从列表中选取项目。
  • SMS – 通过服务器上的内容发送 SMS。

对于 Mobile SDK for Windows Apps 支持的拨打电话、SMS 和相机等功能,Receiver 会提示用户需要具备相应权限才能执行操作,这样用户始终都可以选择保护潜在的敏感信息。

开发使用 Mobile SDK for Windows Apps 的托管应用程序时,请注意以下事项:
  • 应对应用程序强制使用安全连接(例如,使用 SSL/TLS 或 VPN)。Citrix Receiver 应连接到可信服务器。
  • 对于可能导致隐私问题的移动设备功能(如相机)的使用,应寻求相关的法律意见。

可以从 Citrix Developer Network 中了解与 Mobile SDK for Windows Apps 有关的更多信息。

关于移动性功能

XenApp 移动性功能可改善移动设备用户对已发布的资源的访问体验。

其功能如下:

  • 可以使用移动设备控件代替组合框等本机 Windows 控件。
  • 可编辑的字段获得焦点后将自动显示设备键盘。桌面会话将根据需要进行滚动以使输入区域可见。
  • 移动设备经过触控优化的桌面提供了以下功能:
    • 对 Windows“开始”菜单的访问方式得以改进:轻按“开始”按钮并使用触控友好的菜单可导航到应用程序和文档。轻按一下即可启动应用程序或打开文档。
    • 桌面上包含几页图标:滑动桌面或轻按滚动图标可进行导航。
    • 经过触控优化的桌面被全屏显示的应用程序隐藏后轻按一下即可返回该程序:轻按桌面左下角的图标。
    • 轻按一下即可返回到传统 Windows 桌面:轻按桌面右上角的图标即可在经过触控优化的桌面与 Windows 桌面之间进行切换。
  • 支持向远程应用程序会话提供移动设备位置 (GPS) 信息。此功能使远程应用程序能够从 Citrix Receiver 获取移动设备位置信息,这样应用程序的行为可以发生变化,就像正在移动设备上本地运行。
  • Mobile SDK for Windows Apps 是一个移动设备开发平台,使企业 Windows 开发人员能够使用熟悉的编程语言为移动设备编写应用程序。Mobile SDK for Windows Apps 包括用于实现以下功能的页面:
    • 控制按钮在移动设备上的使用方式
    • 设置屏幕方向
    • 激活屏幕键盘
    • 使用本地用户界面控件代替 Windows 控件
    • 访问设备的电话、SMS 和相机功能

已修复的问题

  • 现在,在第二次使用时,将显示自动键盘和移动设备组合框。[253264]
  • 自动显示键盘远程控制组合框的策略帮助文本正确。[256356]
  • 如果在退出 Microsoft 记事本程序后再重新启动,则在键盘打开之前,不再显示错误消息“wfshell shell has stopped working”(wfshell shell 已停止工作)。[261973]

已知问题

  • 对于带有 .NET 4.0 日历控件的应用程序,如果在同一个会话中激活 Microsoft UI 自动化监控功能,并且用户将焦点置于日历控件,则该应用程序可能会崩溃。导致该问题的原因是 .NET 4.0 日历控件的 DataTemplate 键中缺少属性 (ComponentResourceKey)。在主题级别定义的资源必须使用 ComponentResourceKey 作为键。

    为避免 .NET 4.0 的这一问题,请如下设置日历控件的 DataTemplate 键:

       

    有关详细信息,请参考 Microsoft 支持文章 Null reference exception when running a .net app with UI automation(使用 UI 自动化运行 .net 应用程序时的空引用异常)。[261165]

  • 如果 iOS 设备分辨率设置为“Auto-Fit”(自动适应)之外的其他值,则自动键盘功能无法滚动显示画面以显示输入区域。[267307]
  • 在执行某些操作的过程中,应用程序会意外最小化为经过触控优化的桌面任务栏。轻按应用程序的任务栏图标可将其重新打开。[267606, 267609]
  • 显示 Windows 通知时,Windows 任务栏将显示在经过触控优化的桌面任务栏的前面。要重新显示经过触控优化的桌面任务栏,可以关闭通知或轻按桌面。[268911]
  • 当用户按 Alt-Tab 并轻按 Windows 桌面上的齿轮图标时 (Receiver for iOS),经过触控优化的桌面任务栏将随 Windows 桌面显示。要更正显示,可轻按左下角的图标。[269535]
  • 显示自动键盘以及 Receiver for iOS 用户旋转设备时,键盘会覆盖输入区域。用户可平移显示屏幕或将设备旋转到原始方向,以便看到输入区域。[269920]
  • 当应用程序在全屏模式下运行时,显示经过触控优化的桌面任务栏。[272692]
  • 对于使用提升权限运行的应用程序 (Receiver for iOS),不显示自动键盘或设备本机组合框。[273016]

移动性功能的系统要求

下面介绍服务器、用户设备、应用程序和移动设备的系统要求。

环境

  • Citrix XenApp 6.5 for Windows Server 2008 R2 with HRP02
  • Microsoft .NET Framework 4.0

设备

  • Citrix Receiver for Android 3.x
  • Citrix Receiver for iOS 5.5.x、5.6.x、5.7 和 5.8
  • Citrix Receiver for Windows 8/RT 1.2 和 1.3

应用程序

  • 对于使用 Windows 7 Location API 并且可根据客户端位置传感器接收响应的应用程序,支持位置感应功能。

Mobile SDK for Windows Apps

  • 开发操作系统:Microsoft Windows 7 (x64) 或 Windows 8
  • 开发平台:Microsoft Visual Studio 2010 SP1 或 2012
  • Microsoft .NET Framework 3.5 SP1 和 4.0
  • Microsoft Windows SDK 7.1(用于 C++ 位置支持)

为移动性功能配置策略

以下 Citrix 用户配置策略设置可控制移动性功能的设置。

ICA > 移动体验下:

  • 自动显示键盘
  • 启动经过触控优化的桌面
  • 远程控制组合框

ICA > 客户端传感器 > 位置下:

  • 允许应用程序使用客户端设备的物理位置

设置键盘显示行为

自动显示键盘策略设置决定了移动设备上应用程序会话期间键盘的行为。默认情况下,Mobile Receiver 用户必须手动打开键盘。要使键盘能够在可编辑字段成为焦点时自动打开,将此策略设置为允许。如果允许此设置,则用户可以更改 Receiver for iOS 会话设置,以防止键盘自动打开。

提供易于触控的界面

启动触控优化桌面策略设置决定着 Receiver 界面的整体行为。默认情况下,使用针对平板电脑设备进行了优化的易触控界面。如果只需要使用 Windows 界面,请将此策略设置为禁止

设置显示的组合框的类型

远程控制组合框策略设置决定着移动设备上应用程序会话期间显示的组合框的类型。要显示设备本机组合框控件,请将此策略设置为允许。当此设置为允许时,用户可以将 Receiver for iOS 会话的设置更改为使用 Windows 组合框。

允许应用程序使用移动设备位置信息

允许应用程序使用客户端设备的物理位置策略设置决定着是否允许移动设备上 XenApp 会话中运行的应用程序使用客户端设备的物理位置。

默认情况下,禁止使用位置信息。要允许使用位置信息,请将此策略设置为允许。如果启用了此设置,用户可以通过拒绝 Receiver 访问位置的请求来禁止使用位置信息。Receiver 首次发出请求时,Android 和 iOS 设备将提示在每个会话中输入位置信息。