Condition Manager

注意:要显示特定设备上存在的功能,请从下面的 SmartDocs 栏中选择一个或多个过滤器。

StageNow - 2.10

概述

Condition Manager 允许管理员检查设备上的一个或多个条件,然后再采取某些操作或检查更多的条件。这对于确认设备满足一个或多个要求(例如,“必须是 MC40”)而言非常有帮助 — 例如,在尝试“有风险”的操作(如操作系统升级)之前,就需要这样做,因为这些有风险的操作失败可能使设备变得不可用、功能严重受限,还可能需要维修。

每个测试的条件表示 ConditionMgr 的一个实例,独立于所有其他实例。测试的条件可能满足,也可能不满足,它表示设备在测试时的状况(例如,“存在有效的 IP 地址吗?”)。顶层条件可以测试获得布尔、整数或字符串数据,但最终必须得到布尔值 (true/false)(例如“‘设备型号’字段是否包含‘MC40’字符串?”)。

当某个条件未满足时,ConditionMgr 可根据需要重新检查条件,等待条件发生更改,以及/或者返回有关某个条件的有意义的失败消息,从而使管理员能够尝试补救措施,执行其他操作或者只是停止。当结合 XML Manager 的处理规则使用时,ConditionMgr 可用于创建复杂的条件集,利用这些条件集以精细的方式控制执行流,从而允许描述丰富且适合的管理任务。

主要功能

  • 验证在输入 XML 中描述的条件
  • 提供和使用已验证条件的状态
  • 重复某个验证尝试指定的次数
  • 在某个条件的测试之间等待指定的一段时间
  • 创建某项测试在满足或不满足某个条件时显示的自定义消息
  • 验证设备上是否存在有效的 IP 地址
  • 检查设备的电池电量
  • 检查是否存在某个文件
  • 验证设备型号(例如“TC70”)、安装的操作系统或设备上的其他字符串
  • 禁止显示错误消息

数据类型

用于指定设备上测试的值是布尔值、整数还是字符串。无论所选的数据类型如何,所有条件测试必须最终产生一个布尔值 (true/false)。布尔值数据类型,例如设备是否具有有效的 IP 地址,提供直接结果,因此不需要进一步的调整。在测试整数和字符串时,要到达一个布尔值,必须指定一个相关的条件测试(例如针对数值的“大于”,或针对字符串的“包含”)。例如,有关设备是否为 MC40 的测试将在“设备型号”字段中查找是否有包含常量“MC40”的字符串,如果是,则返回“true”结果。注意:根据选定的数据类型,提供的源类型和系统值会有所不同

重要说明:对于字符串值,目前没有支持用来执行有序比较的方法(例如大于/小于)。例如,在尝试根据设备上 OSX 的版本(存储为字符串的数值)创建流程控制规则时,这种比较就起到重要作用。

在“OSX 值大于或等于 3.4 的所有设备”上尝试某项操作看起来很自然,但是这是一个不受支持的操作,可能产生有害的结果。尽管将字符串视为浮点值在技术上也可行,但是由于 OSX 版本级别(例如 3.4.1.0)的变化以及其他比较因素使其变得不可预测。

参数名称:DataType

选项 名称 说明需要
1 布尔 测试的值将是 true 或 false。

MX:4.4+

2 整数 测试的值将是一个数字。

MX:4.4+

3 字符串 测试的值将是字符组成的字符串。

MX:6+

布尔源类型

用于指定预期提供 true/false 值的布尔值来源。

在以下条件下显示:数据类型是“布尔”

参数名称:BooleanSourceType

选项 名称 说明需要
2 预定义系统布尔值 一个由系统定义的 true/false 值。

MX:4.4+

布尔系统值

用于选择用来测试 true/false 条件的预定义布尔系统值。例如,要设置某项操作仅在目标设备具有有效 IP 地址时继续,请将该值设置为 2(“有任何有效的 IP 地址”),仅在“true”条件下继续。

在以下条件下显示:数据类型是“布尔”并且布尔源类型是“预定义系统布尔值”

参数名称:BooleanSystemValue

选项 名称 说明需要
2 有任何有效的 IP 地址 如果设备在测试时具有有效的 IP 地址,则返回“True”。

MX:4.4+

整数源类型

在以下条件下显示:数据类型为“整数”

参数名称:IntegerSourceType

选项 名称 说明需要
2 预定义系统整数值 设备操作系统定义的一个数值。

MX:4.4+

整数系统属性

用于选择基于整数的设备值,根据该值来测试指定的常量值以达到一个布尔值。例如,要设置某项操作仅在具有 MX 4.X 的设备上继续,可将此值设置为 2(“BSP 主要版本”)并指定“4”作为整数常量值。

在以下条件下显示:数据类型为“整数”

参数名称:IntegerSystemProperty

选项 名称 说明需要
1 平台 SDK 版本 指明 Android API 级别。

MX:4.4+

2 BSP 主要版本 小数点前板级支持包的数字。

MX:4.4+

3 BSP 次要版本 小数点后板级支持包的数字。

MX:4.4+

4 BSP 内部版本号 在设备上安装的 BSP 内部版本的指定编号。

MX:4.4+

整数系统值

用于选择预定义的整数字符串值,根据该值来测试指定的常量值以达到一个布尔值。例如,要设置某项操作仅在目标设备具有充满电量的电池时继续,可将此值设置为 1(“电池电量”)并指定“100”作为常量字符串值。

在以下条件下显示:数据类型为“整数”

参数名称:IntegerSystemValue

选项 名称 说明需要
1 电池电量 当前电池电量所占的百分比,值范围为 0-100

MX:4.4+

整数常量值

用于指定要测试的整数值(从 -32768 到 32767)。

参数值输入规则

  • 接受 -32768 到 32767 之间的整数

在以下条件下显示:数据类型为“整数”

参数名称:IntegerConstantValue

需要:

  • MX:4.4+

整数条件测试

用于选择对指定值与测试的常量值进行比较以达到一个布尔值的比较符。例如,要设置一个操作,仅在至少有一半电池电量可用时才继续,请将此值设置为 5(“大于或等于常量整数”)并将常量整数值设置为 50。

在以下条件下显示:数据类型为“整数”

参数名称:IntegerConditionTest

选项 名称 说明需要
1 等于常量整数 测试的值与指定的值相同。

MX:4.4+

2 不等于常量整数 测试的值与指定的值不相同。

MX:4.4+

3 大于常量整数 测试的值高于指定值。

MX:4.4+

4 小于常量整数 测试的值低于指定值。

MX:4.4+

5 大于或等于常量整数 测试值与指定值相同或更高。

MX:4.4+

6 小于或等于常量整数 测试的值等于或小于指定的值。

MX:4.4+

字符串源类型

在以下条件下显示:数据类型为“字符串”

参数名称:StringSourceType

选项 名称 说明需要
1 字符串系统属性 不是由设备操作系统定义的字符串。

MX:4.4+

2 预定义的字符串系统值 由设备操作系统定义的字符。

MX:4.4+

字符串系统属性

用于选择基于字符串的设备值,根据该值来测试指定的常量值以达到一个布尔值。例如,要设置某项操作仅在 TC55 设备上继续,可将此值设置为 2(“产品型号”)并指定“TC55”作为字符串常量值。

在以下条件下显示:数据类型为“字符串”,字符串源类型为“字符串系统属性”

参数名称:StringSystemProperty

选项 名称 说明需要
2 产品型号 Zebra 设备的型号。

MX:6+

11 Android 版本 在设备上运行的 Android 的版本。

MX:6+

12 内部版本号 在设备上安装的 BSP 内部版本的指定编号。

MX:6+

字符串系统值

用于选择预定义的系统字符串值,根据该值来测试指定的常量值以达到一个布尔值。例如,要设置某项操作仅在安装了 OSX 3.5 的设备上继续,可将此值设置为 2(“OSX 版本”)并将常量字符串值设置为 3.5。

在以下条件下显示:数据类型是“字符串”并且字符串源类型是“预定义系统字符串值”

参数名称:StringSystemValue

选项 名称 说明需要
12 MX 版本 设备上安装的 MX 的版本。

MX:6+

13 OSX 版本 设备上安装的 OSx 的版本。

MX:6+

字符串常量值

用于指定用来比较设备上的某个字符串的字符串。指定的字符串可以是任意大小(包括 0),不过可能被 MXMS 框架间接限制,它对任何单个 XML 文件总大小施加了限制。

参数值输入规则

  • 接受任意长度的字符串(包括 0)

在以下条件下显示:数据类型为“字符串”并且字符串条件测试是“等于常量字符串”

参数名称:StringConstantValue

需要:

  • MX:6+

字符串条件测试

用于选择对指定字符串与测试的常量字符串进行比较以达到一个布尔值的比较符。例如,要设置某项操作仅在基于 FIPS 的设备上继续,可将此值设置为 9(“以常量字符串开头”),将常量字符串设置为 FIPS,取消选中“字符串忽略大小写”复选框。

在以下条件下显示:数据类型为“字符串”

参数名称:StringConditionTest

选项 名称 说明需要
5 等于常量字符串 测试的字符串与指定字符串相同。

MX:6+

6 不等于常量字符串 测试的字符串与指定的字符串不相同。

MX:6+

7 包含常量字符串 测试的字符串包含指定的字符串。

MX:6+

8 不包含常量字符串 测试的字符串不包含指定的字符串。

MX:6+

9 以常量字符串开头 测试的字符串以指定字符串开头。

MX:6+

10 不以常量字符串开头 测试的字符串不以指定字符串开头。

MX:6+

11 以常量字符串结尾 测试的字符串以指定字符串结尾。

MX:6+

12 不以常量字符串结尾 测试的字符串不以指定字符串结尾。

MX:6+

条件满足操作

用于选择在测试的条件未满足时要执行的操作。为避免无实际意义的条件,Zebra 建议选定的操作与“条件未满足操作”参数中选定的操作相反。例如,如果选择了“成功”作为“条件满足操作”,“条件不满足操作”应该为剩余的两个“失败”选项之一。

参数名称:ConditionMetAction

选项 名称 说明需要
0 成功 测试的条件成功时要执行的操作。

MX:4.4+

1 失败且有特征-错误 测试的条件失败时要执行的操作。

MX:4.4+

2 重试(最多指定的次数)后失败 失败之前重复测试条件。

MX:4.4+

条件未满足操作

用于选择在测试的条件未满足时要执行的操作。为避免无实际意义的条件,Zebra 建议选定的操作与“条件满足操作”参数中选定的操作相反。例如,如果选择了“成功”作为“条件满足操作”,“条件不满足操作”应该为剩余的两个“失败”选项之一。

参数名称:ConditionNotMetAction

选项 名称 说明需要
0 成功 测试的条件成功时要执行的操作。

MX:4.4+

1 失败且有特征-错误 测试的条件失败时要执行的操作。

MX:4.4+

2 重试(最多指定的次数)后失败 失败之前重复测试条件。

MX:4.4+

条件重复计数

用于指定重复测试条件的次数 (2-500)。

参数值输入规则

  • 接受 2 到 500 之间的整数

在以下条件下显示:条件满足操作或条件未满足操作是“重试(最多指定的次数)后失败”

参数名称:ConditionRepeatCount

需要:

  • MX:4.4+

条件重复间隔

用于指定在某个条件的测试之间延迟的一段时间(以秒为单位)。

参数值输入规则

  • 接受 1 到 60 之间的整数

在以下条件下显示:条件满足操作或条件未满足操作是“重试(最多指定的次数)后失败”

参数名称:ConditionRepeatInterval

需要:

  • MX:4.4+

条件失败消息

用于当“失败且有特征-错误”被选为“条件满足操作”或“条件不满足操作”时返回的消息。此消息可用于解释哪些方面出错以及/或者向检查结果 XML 文档的用户或应用程序传达失败的原因。

参数值输入规则

  • 接受 1-250 个字符的字符串

在以下条件下显示:条件满足操作或条件未满足操作不是“成功”

参数名称:ConditionFailMessage

需要:

  • MX:4.4+

条件等待消息

用于指定条件正在等待时显示的消息。

参数值输入规则

  • 接受 1-250 个字符的字符串

在以下条件下显示:条件满足操作或条件未满足操作是“重试(最多指定的次数)后失败”

参数名称:ConditionWaitMessage

需要:

  • MX:4.4+

禁止消息

用于在 ConditionMgr 用于控制执行流程而不是检测故障时禁用错误消息的显示。这使管理员能够指定 ConditionMgr 生成的某些错误不会被处理以及作为错误向设备用户显示。

例如,设备筹备过程可能包含导致在不同设备上执行不同操作的条件。由于 ConditionMgr 在这些情况下生成的“错误”并不表示“失败”,但是应作为执行流程的一部分用来识别此类设备,此时向设备用户显示“筹备失败”消息是不合需要的,因为在筹备过程中没有出现失败。

在以下条件下显示:条件满足操作或条件未满足操作不是“成功”

参数名称:SuppressMessage

需要:

  • MX:6+