如何解决当应用程序处于最小化状态时如何从边缘浏览器共享到UWP应用程序C#uwp
我想将Edge浏览器中的内容共享到我的应用程序中(当我的应用程序处于最小化状态时)。但是,它不起作用。 LaunchUriAsync未还原应用程序窗口。 可能的原因是,应用程序在后台任务中运行,这就是为什么UI操作无法正常工作的原因?
有人可以提出任何解决方案吗?
解决方法
当应用程序处于最小化状态时如何从边缘浏览器共享到UWP应用程序
通常,您可以打开注册的UWP应用,以成为Uniform Resource Identifier(URI)方案名称的默认处理程序。然后,我们可以将应用程序的启动uri添加到html页面中,如下所示。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>App36</title>
<link href="css/default.css" rel="stylesheet" />
</head>
<body>
<div>Content goes here!</div>
<div>
<a href="ms-windows-store:">OpenApp</a>
</div>
<script src="js/main.js"></script>
</body>
</html>
在运行于 Window 10操作系统中的浏览器中单击OpenApp标签时,它将启动商店应用程序。您可以使用应用程序Uri协议名称(例如:myapp :)替换ms-windows-store:来启动您的应用程序,并根据您的设计传递参数。
在UWP客户端中,我们需要使用OnActivated
方法处理来自浏览器的共享参数,并最终调用Window.Current.Activate()
。
protected override void OnActivated(IActivatedEventArgs args)
{
if (args.Kind == ActivationKind.Protocol)
{
ProtocolActivatedEventArgs eventArgs = args as ProtocolActivatedEventArgs;
// Navigate to a view
Frame rootFrame = Window.Current.Content as Frame;
if (rootFrame == null)
{
rootFrame = new Frame();
Window.Current.Content = rootFrame;
}
// assuming you wanna go to MainPage when activated via protocol
rootFrame.Navigate(typeof(MainPage),eventArgs);
}
Window.Current.Activate();
}
有关更多详细信息,请Handle URI activation。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。