【发布时间】:2021-01-20 06:31:09
【问题描述】:
我正在尝试从另一个 UWP 应用启动我的 UWP 应用。此功能适用于 android 和 ios。
我在 UWP 部分使用 this 博客。
UWP 渲染代码
public class OpenAppImplementation : IAppHandler
{
public async Task<bool> LaunchApp(string stringUri)
{
Uri uri = new Uri(stringUri);
return await Windows.System.Launcher.LaunchUriAsync(uri);
}
}
在主项目中
var appname = "UWP package name://";
var result = await DependencyService.Get<IAppHandler>().LaunchApp(appname);
if (!result)
{
Device.OpenUri(new Uri(windows store link));
}
我在这里将第二个应用程序的包名称传递为appname。如果应用程序安装在设备中,我需要打开它;否则打开windows store应用页面下载应用。
当我执行此操作时,我得到如下屏幕:
更新
我在第二个应用上添加了如下协议声明:
然后在第一个应用调用如下:
var appname = "alsdk:";
var result = await DependencyService.Get<IAppHandler>().LaunchApp(appname);
if (!result)
{
Device.OpenUri(new Uri("windows store link"));
}
第二个应用程序正在打开,并在上述更改后显示启动画面。但没有进入主页,应用程序停留在启动画面中。此外,如果设备上未安装应用程序,我需要显示 Windows 商店应用程序页面。我在这里缺少什么?
【问题讨论】:
标签: xamarin.forms uwp