首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft Edge扩展开发|我的扩展无法连接我的uwp应用

Microsoft Edge扩展开发|我的扩展无法连接我的uwp应用
EN

Stack Overflow用户
提问于 2018-02-13 16:25:35
回答 1查看 468关注 0票数 0

https://docs.microsoft.com/en-us/microsoft-edge/extensions/guides/native-messaging

上面的链接是关于如何在uwp应用程序和Microsoft Edge之间建立连接的。根据这个链接,我也创建了我的"AppService“和"EdgeExtension”。我尝试使用连接"appservice“的客户端来运行我的"appservice”应用程序。从IBackgroundTask继承的类是有效的。我检查了代码是否运行良好。我认为我的"appservice“应用程序没有问题。问题是我不能在我的appservice和边缘扩展之间建立连接。

这是我的appservice的appxmanifest

代码语言:javascript
复制
    <uap:Extension Category="windows.appService" EntryPoint="RuntimeComponent3.Service">
      <uap3:AppService Name="aaaaaaaaaaaaaaaaaa" SupportsRemoteSystems="true" />
    </uap:Extension>

    <uap3:Extension Category="windows.appExtension">
      <uap3:AppExtension Name="randomname" Id="randomname" PublicFolder="Extension" DisplayName="randomname">
        <uap3:Properties>
          <Capabilities>
            <Capability Name="websiteContent" />
            <Capability Name="websiteInfo" />
            <Capability Name="browserStorage" />
          </Capabilities>
        </uap3:Properties>
      </uap3:AppExtension>
    </uap3:Extension>
    <uap:Extension Category="windows.protocol">
      <uap:Protocol Name="msghost1" />
    </uap:Extension>
  </Extensions>

我不知道是否需要"windows.appExtension“和"windows.protocol”。

下面是manifest.json文件:

代码语言:javascript
复制
  "background": {
      "scripts": [ "content.js" ],
      "persistent": true
    },

  "permissions": [
      "*://*/*",
      "nativeMessaging",
      "activeTab"
    ],

这里是"content.js“,它实际上是在后台工作的(请看”背景“部分)

代码语言:javascript
复制
  browser.browserAction.onClicked.addListener((tab) => {

      alert("test");
      browser.runtime.connectNative ("aaaaaaaaaaaaaaaaaa");
      alert("test2");
  });

当我尝试从另一个uwp应用程序连接我的应用程序服务时,它工作得很好。(appservicename:"aaaaaaaaaaaaaaaaaa“和app包名),但是我的扩展无法连接我的appservice。我正在努力解决这个问题。请帮帮我!!。谢谢和问候..。

顺便说一句,第一个alert("test");工作得很好,而第二个就不行。

EN

回答 1

Stack Overflow用户

发布于 2018-04-20 04:12:51

您是否在EDGE->Extensions菜单项中看到了您的扩展?您似乎错误地指定了需要托管您的扩展的应用程序:

代码语言:javascript
复制
<uap3:AppExtension Name="randomname" Id="randomname" PublicFolder="Extension" DisplayName="randomname">

此处的 name 参数应指定应托管您的扩展的应用程序的名称。如果使用EDGE -它应该是: com.microsoft.edge.extension。

我不知道是否需要"windows.appExtension“和"windows.protocol”。

"windows.appExtension“实际上将你的应用程序声明为一个扩展。

"windows.protocol“允许声明一个URI名称,其他应用程序可以使用它作为URI参数来启动您的应用程序。至少我是这样理解这一切的。

这是关于UWP应用程序扩展的有趣演示文稿的链接:https://channel9.msdn.com/Events/Build/2016/B808

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48762362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档