【发布时间】:2020-08-13 09:19:49
【问题描述】:
我在 xamarin 中有一个应用程序,它侦听文件夹并在创建文件时执行一些操作。 但问题是我需要能够:
- 创建文件时将我的应用放在前面
- 完成 acyion 后将我的应用推到后面
我有一个回应的开头
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() 遇到一些问题
【问题讨论】:
-
这段代码在哪里?是在 UWP 项目中还是共享?
-
我用更多的结构细节更新我的帖子
标签: xamarin xamarin.forms uwp xamarin.uwp