Uwp 是否在运行时获取包族名称列表?

Uwp 是否在运行时获取包族名称列表?,uwp,Uwp,我知道如何获取当前UWP应用程序的包族名称:package.current.Id.FamilyName 如何查找用户已安装的其他UWP应用程序的程序包族名称 具体来说,我对特定协议的应用程序很感兴趣,所以看起来很有希望,但遗憾的是,这总是会给我返回一个空列表 有什么想法吗 编辑 以下是我感兴趣的应用程序中的uri方案注册: 我伟大的礼仪 这似乎与启动我的应用程序一样有效: wait Launcher.launchurisync(新Uri(“我的伟大协议”); 但这仍然返回一个空列表: v

我知道如何获取当前UWP应用程序的包族名称:
package.current.Id.FamilyName

如何查找用户已安装的其他UWP应用程序的程序包族名称

具体来说,我对特定协议的应用程序很感兴趣,所以看起来很有希望,但遗憾的是,这总是会给我返回一个空列表

有什么想法吗


编辑

以下是我感兴趣的应用程序中的uri方案注册:


我伟大的礼仪
这似乎与启动我的应用程序一样有效:

wait Launcher.launchurisync(新Uri(“我的伟大协议”); 但这仍然返回一个空列表:

var-apps=await-Launcher.FindAppUriHandlersAsync(新Uri(“我的伟大协议”);
是否在运行时获取包族名称列表

根据您的需求,您可以参考此代码示例,该示例使用
AppDiagnostic
api获取正在运行的UWP应用程序信息。这是你可以参考的

更新

由此而来,

表示处理指定http(s)URI的每个应用程序的AppInfo对象列表

Launcher.FindAppUriHandlersAsync(Uri)
方法可用于获取应用程序信息,您需要先注册这些信息以处理应用程序清单中的http和https链接,有关详细步骤,请参阅

更新2

例如:


var apps=await Launcher.FindAppUriHandlersAsync(新Uri(“http://my-great-host.com"));

感谢您的快速响应!我认为您链接的
AppDiagnostic
示例仅用于运行应用程序,但我对已安装的应用程序感兴趣。我感兴趣的所有应用实际上都是我自己的应用,我已经注册了我自己的uri方案(请参阅更新的问题)。我知道注册成功了,因为我可以通过wait Launcher.launchurisync(新Uri(“我的伟大协议”))启动应用程序。因此,我感到困惑的是,
FindAppUriHandlersAsync()
没有返回任何信息。@Felix,对不起,伙计们,前面的回复不完整,我已经添加了更新,请检查。啊,我明白了,
uap3:AppUriHandler
uap:Protocol
是两件不同的事情。嗯,让我试一下:)好吧,请告诉我结果,如果你有任何更新可以添加到案例更新中。它起作用了:)我添加了一个
元素,然后
启动程序。FindAppUriHandlersAsync(…)
找到我的应用程序。非常感谢尼科!