1

你能解释一下如何从另一个应用程序在不同平台上启动 Movilizer 吗?例如:

  • IOS?通过 URL 方案?
  • 安卓?通过意图?通过 URL 方案?
  • 视窗电话?

有什么例子吗?

在桌面上,我只是假设通过 java -jar ... 调用 jar 就可以了。使用 MSI 安装程序使事情变得更容易时,是否有可用的符号链接?

启动时有哪些选项?是否可以直接启动movelet?跳入一个类别?

所有平台的行为是否一致,或者我需要记住什么是特定于平台的?

非常感谢和最好的问候,

安德烈

4

1 回答 1

1

据我了解,您可以毫无问题地从另一个应用程序启动 Movilizer。在 iOS 和 Android 上我从不尝试这样做,所以我无法解释它,但例如在 Windows Phone 上我需要从 Socket 启动 Movilizer 和其他三个不同的应用程序,所以我使用 C# 来完成这个任务,方法:

System.Diagnostics.Process.Start("movilizerPath.exe");

关于启动时的选项,是的,可以直接启动一个movelet,使用movelet标签中的autoExecuteTimeout属性。值是 -32768 到 32767 范围内的整数,表示秒数。

值 0 禁用自动执行。

在这种情况下,负值会自动启动 movelet:

  • 下载 movelet 后,如果此时主菜单打开
  • 如果此时主菜单打开,则在 movilizer 客户端启动后

并且 ositive 值会在这种情况下自动启动 movelet:

  • 下载 movelet 后,如果此时主菜单打开
  • 如果此时主菜单打开,则在 movilizer 客户端启动后
  • 返回主菜单后,如果此时主菜单正在打开

但是请记住,如果您将该属性与timeout属性一起使用或仅使用 epsilon 屏幕 movelet,则可能会导致可用性问题。

autoExecuteTimeout的一个例子:

<movelet moveletKey="m1" initialQuestionKey="q1" moveletType="MULTI" autoExecuteTimeout="1" icon="1" visible="true"></movelet>

关于最后一个问题……理论上是的,所有平台的行为都必须一致,但在实践中并非如此。

有很多例子,这里有一些例子:

  • 屏幕类型。很少有屏幕类型不适用于所有平台。类型 14(单选列表视图屏幕)仅适用于 Windows Mobile,许多屏幕不适用于 Windows Mobile(谷歌地图屏幕、所有 HTML5 屏幕等)
  • 在具体版本的某些设备中,MEL 方法可能会失败,例如 jsonToObject 方法。它需要在 finalize 后等于 null 才能使用它,因为如果不是它可能是 android 和 windows phone 设备上的 crash movilizer 客户端
  • HTML 屏幕在所有设备中的外观并不相同。你需要控制它。
  • 图标。取决于尺寸和设备,它在您的屏幕中可能非常小或非常大。

所有这些示例都使用 Movilizer 2.4 版本,我无法在 2.5 上检查所有示例。

于 2017-07-31T10:29:25.430 回答