【问题标题】:Opening different pages of app using cordova deeplinking使用科尔多瓦深度链接打开不同的应用页面
【发布时间】:2015-09-10 12:18:01
【问题描述】:

我正在尝试在我的 cordova android 应用中应用深层链接,但无法使其正常工作。

我用过this link

使用它,我可以在单击带有链接的页面时启动我的应用程序。

<a href="mycoolapp://">Open my app</a>

我需要做什么才能提供应用程序其他页面的链接,例如个人资料页面、关于我们等。

我找到了如下配置json文件

  {
  "defaultRoute": {
    "class": "com.myorg.myapp.DefaultActivity"
  },
  "routes": {
    "reservations": {
      "class": "com.myorg.myapp.ReservationFeedActivity"
    },
    "reservations/:reservationId": {
      "class": "com.myorg.myapp.ReservationDetailsActivity"
    },
    "account/:userId": {
      "class": "com.myorg.myapp.AccountActivity"
    }
  }
}

如何在我们的 Cordova 应用中定义和使用此类路线。

【问题讨论】:

    标签: cordova deep-linking


    【解决方案1】:

    我不知道您在哪里找到了该 json 文件,但它看起来像是用于在原生 Android 应用程序中调用意图,因此不适合与 cordova 应用程序一起使用(除非您的应用程序具有自定义意图)。

    查看自定义 URL 方案插件的 Usage 部分,您似乎需要实现 handleOpenURL(url) 函数才能执行自定义路由您的科尔多瓦应用程序。这在很大程度上取决于您的应用构建了哪些框架(如果有),以及您将如何执行此操作。

    例如,如果您的应用使用jQuery Mobile's page container 来管理不同的应用屏幕,您可以这样做链接:

    function handleOpenURL(url) {
      console.log("received url: " + url);
      var page = url.split("://")[1];
      $( ":mobile-pagecontainer" ).pagecontainer( "change", page+".html");
    }
    

    然后通过 mycoolapp://somepage 等自定义 URL 调用您的应用程序会导致 JQM 切换到 somepage.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多