有没有办法请求在UWP中并排打开另一个应用程序

本文关键字:另一个 应用程序 请求 UWP 有没有 | 更新日期: 2023-09-27 18:30:06

如果我想请求在顶部窗口中打开一个翻译器,请说。传递一些字符串使其进行翻译。

这可能吗?

有没有办法请求在UWP中并排打开另一个应用程序

您可以简单地使用Launcher类为给定的URI启动默认应用程序,例如:

// The URI to launch
var uri = new Uri(@"http://stackoverflow.com/q/34740877/50447");
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uri);
if (success)
{
    // URI launched
}
else
{
    // URI launch failed
}

这也支持自定义的URI方案,因此您可以使用类似ms-drive-to:?cp=40.726966~-74.006076的URI来启动驾驶应用程序,并获得在纽约开车到该地点的路线。

同样,您可以注册自己的URI方案,以便启动。因此,如果您找不到通过URI激活处理翻译的应用程序,则可以编写自己的应用程序可以采用形式为translate:{string}&from=en&to=es的URI,然后从其他应用程序

启动

我认为这个示例会对您有所帮助
单击此处:如何从另一个应用程序启动UWP应用程序

以下代码是核心:
在您的启动器应用程序中。

Uri uri = new Uri("test-launchpage1://somepath"); 
//if you don't use this option, the system will show a confim box when you open new app
var promptOptions = new Windows.System.LauncherOptions(); 
promptOptions.TreatAsUntrusted = false; 
bool isSuccess = await Windows.System.Launcher.LaunchUriAsync(uri, promptOptions); 

在您启动的应用程序中:
在package.appxmainfest中,您需要配置启动sechme,如下所示:

<Package> 
  <Applications> 
    <Application> 
      <Extensions> 
        <uap:Extension Category="windows.protocol"> 
          <uap:Protocol Name="test-launchpage1"> 
            <uap:DisplayName>LaunchPage1</uap:DisplayName> 
          </uap:Protocol> 
        </uap:Extension> 
      </Extensions> 
    </Application> 
  </Applications> 
</Package>

在已启动应用程序的应用程序中,您需要覆盖事件处理程序OnActivated,如下所示:

protected override void OnActivated(IActivatedEventArgs args) 
{ 
    if (args.Kind == ActivationKind.Protocol) 
    { 
        Frame rootFrame = Window.Current.Content as Frame; 
        if (rootFrame == null) 
        { 
            rootFrame = new Frame(); 
            Window.Current.Content = rootFrame; 
            rootFrame.NavigationFailed += OnNavigationFailed; 
        } 
        var protocolEventArgs = args as ProtocolActivatedEventArgs; 
        rootFrame.Navigate(typeof(MainPage), protocolEventArgs.Uri); 
        Window.Current.Activate(); 
    } 
}
相关文章: