不可以截屏?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不可以截屏?相关的知识,希望对你有一定的参考价值。

如果您的手机在第三方应用界面无法截屏,出现以下现象:
1.在应用界面截图时提示“当前界面涉及隐私内容,不允许截屏”。
2.截屏时页面无显示,菜单栏显示无法捕获屏幕截图。

该现象是由于部分应用自身考虑到客户信息安全,针对应用界面禁止截屏,此为应用本身设计如此。如果您有其他疑问,建议您向相关应用开发团队咨询反馈。来自:求助得到的回答
参考技术A

可参考vivo手机无法截屏处理方法:
1、存储空间不足会导致截屏失败,建议进入i管家适当清理;
2、部分界面不支持截屏,请更换界面尝试;
3、重启后再尝试;
4、可进入设置--系统管理--备份与重置--还原所有设置--还原,恢复设置选项。此操作不会删除媒体文件,会取消密码,还原所有的设置,包括:设置的壁纸、解锁样式、WiFi、默认开启程序等,登录的软件帐号也需重新登录。

注:进入云服务--设备云备份--备份数据类型--系统数据--返回--立即备份可备份部分系统设置和桌面布局;云服务--数据同步--打开WLAN、蓝牙等可将数据同步到云服务。

vivo X90 Pro

¥4999

vivo X Fold+

¥9999

vivo S16 Pro

¥2999

vivo Pad

¥2499

    官方电话官方服务
      官方网站寄修服务服务中心配件价格在线客服保障服务
参考技术B 你好,有的设备是没有截屏功能的,需要你对设备进行调换。 参考技术C 安卓系统限制 参考技术D 为什么不可以呢?你什么手机?

截屏状态监听 - iOS

既接到电话状态监听的需求之后再次添加了截屏状态的监听,当使用 App 时若用户执行截屏操作需要对当前状态进行监听操作,下面有两种方法,其中可以替换截屏的图片内容(Plan A),也可以弹出提示框(Plan B),废话不多说步骤如下.

  1 #pragma mark - 监听截屏
  2 // Plan A
  3 /**
  4  监听设备截屏
  5  */
  6 - (void)registerTakeScreenShotNotice {
  7     kWeakSelf(self);
  8     NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
  9     [kNotificationCenter addObserverForName:UIApplicationUserDidTakeScreenshotNotification
 10                                      object:nil
 11                                       queue:mainQueue
 12                                  usingBlock:^(NSNotification * _Nonnull note) {
 13                                      
 14                                      NSLog(@"考试截屏");
 15                                      [weakself userDidTakeScreenshot];//屏幕响应
 16                                  }];
 17 }
 18 /**
 19  截屏响应
 20  */
 21 - (void)userDidTakeScreenshot {
 22     NSLog(@"检测到截屏");
 23     //人为操作,获取截屏图片数据
 24     UIImage *image = [self imageWithScreenshot];
 25     NSLog(@"userDidTakeScreenshot:
%@", image);
 26     
 27     UIImageView *imageScreenshot = [[UIImageView alloc] initWithImage:image];// 此处 image 资源可根据实际需求进行操作,展示当前截屏图片或者替换成一张固定的图片方式等等等!
 28     imageScreenshot.frame = CGRectMake(SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2, SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2);
 29     [self.wkWebView addSubview:imageScreenshot];// 展示在当前 View 层级
 30 }
 31 /**
 32  返回截屏数据
 33  
 34  @return 返回截屏数据
 35  */
 36 - (UIImage *)imageWithScreenshot {
 37     NSData *imageData = [self dataWithScreenshotInPNGFormat];
 38     return [UIImage imageWithData:imageData];
 39 }
 40 /**
 41  获取当前屏幕
 42  
 43  @return 获取当前屏幕
 44  */
 45 - (NSData *)dataWithScreenshotInPNGFormat {
 46     // Source (Under MIT License):
 47     CGSize imageSize = CGSizeZero;
 48     UIInterfaceOrientation orientation = kApplication.statusBarOrientation;
 49     if (UIInterfaceOrientationIsPortrait(orientation)) {
 50         imageSize = SCREEN_RECT.size;
 51     }
 52     else {
 53         imageSize = CGSizeMake(SCREEN_HEIGHT, SCREEN_WIDTH);
 54     }
 55     
 56     UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0);
 57     CGContextRef context = UIGraphicsGetCurrentContext();
 58     for (UIWindow *window in [kApplication windows]) {
 59         CGContextSaveGState(context);
 60         CGContextTranslateCTM(context, window.center.x, window.center.y);
 61         CGContextConcatCTM(context, window.transform);
 62         CGContextTranslateCTM(context, -window.bounds.size.width * window.layer.anchorPoint.x, -window.bounds.size.height * window.layer.anchorPoint.y);
 63         
 64         // Correct for the screen orientation
 65         if (orientation == UIInterfaceOrientationLandscapeLeft) {
 66             CGContextRotateCTM(context, M_PI_2);
 67             CGContextTranslateCTM(context, 0, -imageSize.width);
 68         }
 69         else if (orientation == UIInterfaceOrientationLandscapeRight) {
 70             CGContextRotateCTM(context, -M_PI_2);
 71             CGContextTranslateCTM(context, -imageSize.height, 0);
 72         }
 73         else if (orientation == UIInterfaceOrientationPortraitUpsideDown) {
 74             CGContextRotateCTM(context, M_PI);
 75             CGContextTranslateCTM(context, -imageSize.width, -imageSize.height);
 76         }
 77         
 78         if ([window respondsToSelector:@selector(drawViewHierarchyInRect:afterScreenUpdates:)]) {
 79             [window drawViewHierarchyInRect:window.bounds afterScreenUpdates:YES];
 80         }
 81         else {
 82             [window.layer renderInContext:context];
 83         }
 84         
 85         CGContextRestoreGState(context);
 86     }
 87     
 88     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
 89     UIGraphicsEndImageContext();
 90     
 91     return UIImagePNGRepresentation(image);
 92 }
 93  
 94 // Plan B
 95 - (void)intercepScreenshots {
 96 //    kWeakSelf(self);
 97 //    NSOperationQueue *mainQueue = [NSOperationQueue mainQueue];
 98 //    [kNotificationCenter addObserverForName:UIApplicationUserDidTakeScreenshotNotification object:nil queue:mainQueue usingBlock:^(NSNotification * _Nonnull note) {
 99 //        [weakself checkScreenshots];
100 //    }];
101     [kNotificationCenter addObserver:self
102                             selector:@selector(checkScreenshots)
103                                 name:UIApplicationUserDidTakeScreenshotNotification
104                               object:nil];
105 }
106 - (void)checkScreenshots {
107     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示"
108                                                         message:@"勿截图"
109                                                        delegate:self
110                                               cancelButtonTitle:@"YES"
111                                               otherButtonTitles:@"NO", nil];
112     [alertView show];
113 }

 


 

此次分享到此结束,希望内容能对大家实际有所帮助,有什么不足之处欢迎指点共同进步!

 

以上是关于不可以截屏?的主要内容,如果未能解决你的问题,请参考以下文章

Android 4.0 ,如何截屏,当竖屏时。

检测用户何时在 Unity 中截屏

APP,限制截屏功能,如何解决

mac --snip 滚动截屏

截屏状态监听 - iOS

怎样解除应用截屏限制?