Codenameone 处理URL';当应用程序已打开时,将使用给定的方案

Codenameone 处理URL';当应用程序已打开时,将使用给定的方案,codenameone,Codenameone,读者注意:这个问题的代号是一个特定的 下面的代码允许我检测我的应用程序是否由具有给定方案的链接打开(使用文章“”中描述的构建提示): 问题是,只有当应用程序尚未打开时,它才能工作。我怎么能 在下面这样一个简单的用例中检测一个已经打开的应用程序的url 用户在应用程序中插入他们的数据 该应用程序使用外部服务发送确认电子邮件。该电子邮件包含一个带有自定义协议的链接,如myapp://verificationCode=1234 用户打开电子邮件(无需手动关闭保留在后台的Codename One应用程

读者注意:这个问题的代号是一个特定的

下面的代码允许我检测我的应用程序是否由具有给定方案的链接打开(使用文章“”中描述的构建提示):

问题是,只有当应用程序尚未打开时,它才能工作。我怎么能 在下面这样一个简单的用例中检测一个已经打开的应用程序的url

  • 用户在应用程序中插入他们的数据
  • 该应用程序使用外部服务发送确认电子邮件。该电子邮件包含一个带有自定义协议的链接,如
    myapp://verificationCode=1234
  • 用户打开电子邮件(无需手动关闭保留在后台的Codename One应用程序),然后点击链接
  • 应用程序从后台转到前台,并使用
    验证代码执行操作:问题是,只有在用户点击链接前关闭应用程序时,此步骤才有效。

有任何代码解决方案吗?

start
应该在每次返回前台时调用。请注意,默认启动实现的第一行检查是否存在当前表单,如果存在,则返回该表单


您需要在特殊情况之前使用该代码,并正确处理带参数返回前台的情况。

要完成问题:在我的应用程序中,所有
表单
扩展
CustomBaseForm
,因此,我的想法是拦截URL的代码应该插入到
CustomBaseForm
中,以使此功能始终可用。。。但是,正如我在问题中解释的,这个解决方案不起作用。是否存在一个侦听器可以随时截取URL,而不仅仅是在应用程序启动时?
    String arg = Display.getInstance().getProperty("AppArg", null);
    if (arg != null) {
        Dialog.show("Display Arg", arg, "OK", "CANCEL");
    }