【问题标题】:PWA(Progressive Web App) - Launch PWA from Windows UWP applicationPWA(Progressive Web App) - 从 Windows UWP 应用程序启动 PWA
【发布时间】:2019-08-06 09:01:21
【问题描述】:

我正在开发一个 POC,我需要从 Windows 应用程序启动 PWA,而不是在浏览器中打开 url。

我尝试了什么:-

  1. 创建了一个 PWA 并将其安装在 Windows 上。

  2. 使用 Xamarin.Forms 创建了一个 UWP 应用程序。

  3. 使用 Device.OpenUri(new Uri("http://localhost:8887")); 从我的 UWP 应用程序调用的 URL

它打开的是浏览器而不是我的 PWA。 下面是 manifest.json PWA:-

{
  "name": "Test",
  "short_name": "Test",
  "icons": [{
    "src": "images/icons/icon-128x128.png",
      "sizes": "128x128",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-144x144.png",
      "sizes": "144x144",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-152x152.png",
      "sizes": "152x152",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-192x192.png",
      "sizes": "192x192",
      "type": "image/png"
    }, {
      "src": "images/icons/icon-256x256.png",
      "sizes": "256x256",
      "type": "image/png"
    }],
  "start_url": "/index.html",
  "display": "standalone",
  "background_color": "#3E4EB8",
  "theme_color": "#2F3BA2"
}

谁能指导我实现这个用例。

【问题讨论】:

    标签: xamarin.forms uwp progressive-web-apps xamarin.uwp


    【解决方案1】:

    您可以按照此document 将您的 PWA 包装为 UWP 应用。然后,您可以在 Package.appxmanifest 文件中声明一个协议,如下所示:

    之后,您可以在 Windows 上安装它并从您的另一个 UWP 应用程序中启动 url myapp:///。

    【讨论】:

    • 感谢泽维尔的回答。我尝试了您建议的解决方案。我将我的 PWA 安装为 UWP 并按照您的建议添加了协议。当我单击按钮打开 uri 窗口时,会弹出一个提示“你需要一个新应用程序才能打开这个 myapp”。我将 url 称为 Device.OpenUri(new Uri("myapp:///"));
    • @bakriOnFire 你需要先在Package.appxmanifest文件中添加协议,然后安装。
    • 我已经在 Package.appxmanifest 中添加了协议。构建和运行应用程序会将其安装在我的 Windows 机器中,对吗?还是我需要用另一种方式来做?
    • @bakriOnFire 你需要这样的服务:mindofai.github.io/Launching-Apps-thru-URI-with-Xamarin.Forms
    • 它对我有用 Xavier。我不得不卸载应用程序并使用协议再次部署它(愚蠢的错误)。它与 Device.OpenUri 本身一起工作。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多