Xamarin UWP:前/后的应用程序(不存在方法?)

问题描述 投票:0回答:1

我在xamarin中有一个可以监听文件夹并在创建文件时执行某些操作的应用。但是,关键是我需要能够:

  1. 创建文件时将我的应用放在最前面
  2. 完成我的应用程序后,将我的应用程序向后推

我的回应开始于

Window.Current.Activate();

但仅在我的应用程序没有最小化(该应用程序不在第一视图中)的情况下才有效我已经尝试过了:

IList<AppDiagnosticInfo> infos = await AppDiagnosticInfo.RequestInfoForAppAsync();
IList<AppResourceGroupInfo> resourceInfos = infos[0].GetResourceGroups();
await resourceInfos[0].StartSuspendAsync();

但是视觉工作室告诉我

AppResourceGroupInfo没有为StartSuspendAsync()定义

但是文档中提到了AppResourceGroupInfo.StartSuspendAsync Method

有人有主意吗?

更新[2020-04-29 16:48]:

  • 这是一个pcl项目

  • 目的是使用依赖服务在平台的功能上有不同的比例(已经实现只是需要前/后

pcl中的接口

public interface IWindowManager
    {
        void Minimize();
        void Maximize();
    }

在uwp中

class WindowManager : IWindowManager
    {
        public async void Maximize()
        {
            try
            {
                Window.Current.Activate();
            }
            catch(Exception ex)
            {
                DependencyService.Get<IErrorLogger>().LogError(ex);
            }
        }

        public async void Minimize()
        {
            IList<AppDiagnosticInfo> infos = await AppDiagnosticInfo.RequestInfoForAppAsync();
            IList<AppResourceGroupInfo> resourceInfos = infos[0].GetResourceGroups();
            resourceInfos[0].StartSuspendAsync();
        }
    }

就像我说StartSuspendAsync()遇到问题

xamarin xamarin.forms uwp xamarin.uwp
1个回答
0
投票

AppResourceGroupInfo没有为StartSuspendAsync()定义

源自官方文档,Windows 10更新1803(内部版本17134)中的StartSuspendAsync()。因此,请将UWP项目的迷你版本编辑为17134。

但是仅在我的应用程序没有最小化(应用程序不在第一视图中)时,该选项才起作用

为了制作应用程序foreground,您可以使用以下代码。

IEnumerable<AppListEntry> appListEntries = await Package.Current.GetAppListEntriesAsync();
        await appListEntries.First().LaunchAsync();
© www.soinside.com 2019 - 2024. All rights reserved.