V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Wikey
V2EX  ›  程序员

安卓截图时提示“由于应用限制,该界面无法截屏”,是怎么实现的?

  •  
  •   Wikey · 2023-12-07 22:26:02 +08:00 · 3488 次点击
    这是一个创建于 381 天前的主题,其中的信息可能已经有所发展或是发生改变。

    安卓 app 的火狐浏览器,打开网页"https://wenjuan.pub/..."

    无论是三指截图,或者快捷键开机键+音量键,截图时都会提示“由于应用限制,该界面无法截屏”,在技术上是怎么实现的?

    16 条回复    2023-12-09 16:51:59 +08:00
    Wikey
        1
    Wikey  
    OP
       2023-12-07 22:37:42 +08:00
    举个例子,页面链接: https://www.wenjuan.pub/assess/exam/exam_result/6558541
    gam2046
        2
    gam2046  
       2023-12-07 22:57:26 +08:00   ❤️ 2
    abc8678
        3
    abc8678  
       2023-12-07 23:00:02 +08:00 via Android
    问一下,没有 root 的情况下,有办法截图吗?华为的手机
    coolfan
        4
    coolfan  
       2023-12-07 23:12:46 +08:00
    @abc8678 使用 adb 工具,或者用华为的多屏协同,在另一个设备上截图
    Leon6868
        5
    Leon6868  
       2023-12-07 23:16:48 +08:00
    @Wikey 没法打开
    xixun
        6
    xixun  
       2023-12-07 23:24:27 +08:00 via iPhone
    自带的版权保护吧
    Manhowe
        7
    Manhowe  
       2023-12-07 23:55:37 +08:00
    如 2 楼所提供的 API ,将当前 window (activity 、dialog 等)标记为安全就行了,但是防不了在后台任务列表里截图,所以还要考虑挂后台任务列表后重新绘制缩略图
    Wikey
        8
    Wikey  
    OP
       2023-12-08 00:07:06 +08:00
    @Leon6868 #5 页面参数报错,但是还是拦截了截屏,可以测试的
    Wikey
        9
    Wikey  
    OP
       2023-12-08 01:51:47 +08:00   ❤️ 1
    破案了。原来是浏览器打开了隐私标签页,这种模式不允许截屏。试了 Chrome 浏览器,也是一样。
    abc8678
        10
    abc8678  
       2023-12-08 07:32:40 +08:00 via Android
    @coolfan 我装了 shizuku ,不知能不能利用它
    anjingdexiaocai
        11
    anjingdexiaocai  
       2023-12-08 07:57:42 +08:00 via Android
    @Wikey 最终还不是浏览器调用的 Android API 不让截图吗?
    nnegier
        12
    nnegier  
       2023-12-08 10:10:56 +08:00 via Android
    我特别烦不能截图
    timewarp
        13
    timewarp  
       2023-12-08 12:56:22 +08:00
    防君子不防小人,拿其他手机拍一个
    zuotun
        14
    zuotun  
       2023-12-08 14:13:54 +08:00
    @gam2046 那截黑屏呢?肉眼看屏幕没有任何变化但是相册里是一片黑
    V1Eerie
        15
    V1Eerie  
       2023-12-08 17:28:02 +08:00
    @zuotun #14 使用 DRM 保护的视频无法被截图,这可能是你提到的截图是黑屏的情况。 参考链接: https://source.android.com/docs/core/media/drm?hl=zh-cn
    gam2046
        16
    gam2046  
       2023-12-09 16:51:59 +08:00
    @zuotun 多数情况下是走硬件加速了,图形的渲染在 GPU 里直接出给显示设备了,因此内存里是没有的,也就是整个 framework 里都不知道这里显示的是啥。所以截图截不到。最简单的,使用 ExoPlayer 随便播放一个视频,默认在开启硬件加速的情况下,播放区域截图出来就是黑的,包括 scrcpy 这类工具也是获取不到视频区域的内容。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3483 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:45 · PVG 18:45 · LAX 02:45 · JFK 05:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.