信息
您所需的主题如下所示。但此主题未包含在此库中。

开发 Windows Phone 的“企业中心”应用

2014/6/18

若要为员工和其他用户提供一种安装企业应用的方法,您可以开发“企业中心”,这是一种在手机上用作门户以提供企业特定体验的应用。“公司中心”必须至少使用户能够发现、安装和有选择性地运行公司创建的应用。“公司中心”还提供其他公司特定的体验或功能,例如显示当前的公司新闻、即将发生的公司事件和来自 IT 部门的警告。

说明注意:

如果企业使用 Windows Intune 或 System Center 2012 Configuration Manager 来管理手机,则企业必须使用适用于 Windows Intune 和 System Center 2012 Configuration Manager 的 Windows Phone 8 企业门户应用来部署企业应用,而非构建“企业中心”应用。有关通过 Windows Intune 或 System Center 2012 Configuration Manager 实现企业应用分发的详细信息,请参见:

Windows Phone 开发工具提供 Windows.Phone.Management.DeploymentWindows.ApplicationModel 命名空间中的方法,这些方法专用于“企业中心”应用,用以确定手机上已安装了哪些其他企业应用,安装企业应用以及在安装完成后启动企业应用。下表描述了一些关键方法。

方法

描述

InstallationManagerFindPackagesForCurrentPublisher()

此方法将返回手机上已安装的、其发行商 ID 与调用此方法的“企业中心”应用相同的所有应用包(Package 对象)。在“企业中心”应用包含了已安装应用包的列表后,它可以执行以下操作:

  • 确定哪些企业应用尚未被安装。“企业中心”应用应仅允许用户尝试安装尚未安装的应用。

  • 使用 PackageGetThumbnailToken() 方法获取已安装应用的图标。

  • 使用 PackageLaunch(String) 方法启动已安装的应用。

InstallationManagerAddPackageAsync(String, Uri)

此方法将启动企业应用的安装过程。没有指示应用正在安装的内置 UI。“企业中心”可以使用由此方法返回的 IAsyncOperationWithProgress 对象来获得应用安装进度的相关详细信息,并且可以有选择性地使用此信息来帮助显示其自身的进度 UI。

InstallationManagerGetPendingPackageInstalls()

此方法将返回 IAsyncOperationWithProgress 对象的集合,它表示所有当前正在进行的所有应用安装的列表。

PackageLaunch(String)

此方法将启动由当前 Package 对象表示的企业应用。当用户点击显示在“企业中心”内的应用图标或名称时,“企业中心”可以使用此方法启动已安装的企业应用。

PackageGetThumbnailToken()

此方法将返回一个可用于检索已安装企业应用的缩略图图像(由当前的 Package 对象表示)的标记。“企业中心”可以使用此方法在可用的企业应用的列表中,显示合适的应用图标。

您可以选择多种方法来实现“企业中心”确定可供用户安装的应用的方式,具体取决于您的企业选择如何承载用于分发的应用。以下步骤简要概述了一种可能的“企业中心”实现方式。

  1. 您的企业在服务器上承载其应用,该服务器还在整个 Web 服务中公开所有应用的 XAP 和元数据(例如,每个 XAP 的 URL、每个应用图标的 URL 和每个应用的名称、说明和版本号)。

  2. “企业中心”启动后,将从您的企业检索所有可用的 XAP 的元数据,然后它会使用该元数据显示所有可用的企业应用的列表。

  3. “企业中心”使用 InstallationManagerFindPackagesForCurrentPublisher() 方法来确定哪些企业应用已安装在手机上。

  4. 当用户点击尚未安装的应用时,“企业中心”会使用 InstallationManagerAddPackageAsync(String, Uri) 方法来启动应用安装。

  5. 安装应用时,“企业中心”还可以显示进度 UI。为获取有关安装进度的数据,“企业中心”定义 AsyncOperationProgressHandlerAsyncOperationWithProgressCompletedHandler 回调方法,并且将这些方法分配给由 InstallationManagerAddPackageAsync(String, Uri) 方法返回的 IAsyncOperationWithProgress 对象的 ProgressCompleted 属性。

    在安装过程中,分配到 Progress 属性的方法将在四个不同的点上被调用:

    • 已完成 5%(在手机显示弹出窗口以要求用户确认应用安装时)

    • 已完成 10%(用户接受安装后)

    • 已完成 55%(下载应用后)

    • 已完成 100%(已安装应用后)

  6. 当用户点击已安装的应用时,“企业中心”会使用 PackageLaunch(String) 方法来启动应用。

显示: