我有一个UWP应用,在kiosk模式下有一个错误,因为ApplicationView.GetForCurrentView().IsFullScreenMode
总是返回false。
因此,我希望能够判断该应用是否以自助服务终端模式运行。
在kiosk模式下, LockApplicationHost.GetForCurrentView()
为空,但仅当我将windows.aboveLockScreen
扩展名添加到我的appxmanifest文件时才有效。
我想避免包含windows.aboveLockScreen
扩展名,因为这会将我们的应用内容放在辅助窗口中,从而打破了我们对线程做出的一些假设。
那么,有没有办法判断应用是否在Kiosk模式下运行而不包括windows.aboveLockScreen
扩展名?
修改
应用程序需要知道它是否处于全屏状态的原因是因为当从我们的主视图导航到另一个视图时,我们允许用户设置新视图是否应该是全屏的设置。
因此,当我们从主视图导航到另一个视图时,我们的逻辑或多或少:
ApplicationView view = ApplicationView.GetForCurrentView();
if (setting.UseFullscreen
&& !view.IsFullScreenMode) // "IsFullScreenMode" is always false in kiosk mode
{
view.TryEnterFullScreenMode();
// Wait for window size to change
// In kiosk mode window size never changes => Our app waits forever
}