如何防止UWP任务切换中的显示

如何防止UWP任务切换中的显示,uwp,windows-10-mobile,Uwp,Windows 10 Mobile,当您在Windows phone上打开任务切换程序(长按Windows按钮)时,您可以看到当前处于“暂停”模式的所有应用的预览。(见截图) 我猜windows和大多数移动操作系统一样,会在任务切换程序中使用暂停状态下的应用程序截图 我的应用程序处理敏感数据,我不想自动截图,比如说,上面有密码 我的想法是在调用OnSuspending时显示一个覆盖整个屏幕的空白图像。不幸的是,在那个时候,截图已经被拍摄了,所以已经太晚了 还有其他想法吗 我想你混合了两种不同的东西——如何阻止用户或其他应用程序为你

当您在Windows phone上打开任务切换程序(长按Windows按钮)时,您可以看到当前处于“暂停”模式的所有应用的预览。(见截图) 我猜windows和大多数移动操作系统一样,会在任务切换程序中使用暂停状态下的应用程序截图

我的应用程序处理敏感数据,我不想自动截图,比如说,上面有密码

我的想法是在调用
OnSuspending
时显示一个覆盖整个屏幕的空白图像。不幸的是,在那个时候,截图已经被拍摄了,所以已经太晚了

还有其他想法吗

  • 我想你混合了两种不同的东西——如何阻止用户或其他应用程序为你的应用程序制作屏幕截图,以及如何阻止操作系统“查看”你的应用程序并将其显示给当前用户
  • 在第一种情况下,答案很简单(已在评论中提到)-使用
    isCreencaPtureEnabled
    属性禁止截图
  • 下面是一个例子:

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        // Disable screen capture when the user navigates to this page.
        Windows.UI.ViewManagement.ApplicationView.GetForCurrentView().IsScreenCaptureEnabled = false;
    }
    
    这是告诉操作系统它应该用当前页面视图保护你的应用程序的方式。根据我的经验,它也可以在任务切换模式下工作——如果列表中有受保护的应用程序,它会阻止我截图

  • 在第二种情况下,这是一个不同的故事。这种行为只是用户体验的一部分,在窗口模式下显示应用程序和在应用程序切换模式下显示“屏幕截图”没有区别。用户应始终能够看到自己拥有的应用程序。不知道你们为什么要破坏这种行为——但当操作系统说“嘿,我要在任务切换器中向用户展示你们的应用程序”时,最终并没有这样的事件发生

  • 如果你有明确的理由这样做,你能通过反馈应用程序报告吗?

    在黑暗中拍摄:也许你可以尝试定义一个默认不透明度等于0的矩形(示例)覆盖(当然可以是图像或其他东西)。然后尝试在Page中将其不透明度更改为1。OnNavigatingFrom事件中未调用OnNavigatingFrom。嗯,如何调试应用程序?是否使用“生命周期”选项卡测试挂起事件?是的,我使用了“生命周期”选项卡。我知道,如果在调试器运行时只需按Windows按钮,则不会触发事件。尝试此操作将禁用屏幕截图和任务切换程序屏幕截图。