标签: screen-grab

如何以编程方式检测Android中是否正在运行任何屏幕录制过程/应用程序?

我不希望用户截取我的应用程序的屏幕截图或记录屏幕.我已经在窗口中添加了安全标志.这可以防止用户截取屏幕截图和录制屏幕.

如果屏幕录制已开启,我的应用程序会阻止录制内容,但会录制音频.

在某些有根设备上,安全标志可能无法按预期工作.所以我只是想检测是否有任何屏幕录制应用程序/进程在后台运行,以便我可以隐藏敏感数据并防止其被记录.

我有什么方法可以检测到屏幕录制是否开启?

java security android screen-grab screen-recording

7
推荐指数
1
解决办法
2684
查看次数

fastlane screengrab:"没有请求权限android.permission.CHANGE_CONFIGURATION"

我正在尝试在Nexus 5X API 26仿真器中执行命令fastlane screengrab.

这是我得到的结果:

rcarba$ fastlane screengrab 
    [?]  
    [16:00:51]: fastlane detected a Gemfile in the current directory
    [16:00:51]: however it seems like you don't use `bundle exec`
    [16:00:51]: to launch fastlane faster, please use
    [16:00:51]: 
    [16:00:51]: $ bundle exec fastlane screengrab
    [16:00:51]: 
    [16:00:51]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
    [16:00:51]: Successfully loaded '/Users/.../fastlane/Screengrabfile' 

    +----------------------------+-----------------------------------------------+
    |              Detected Values from './fastlane/Screengrabfile'              |
    +----------------------------+-----------------------------------------------+
    | app_package_name           | com.my.app                         |
    | app_apk_path               | app/build/outputs/apk/release/app-release.apk |
    | tests_apk_path             | …
Run Code Online (Sandbox Code Playgroud)

android screen-grab android-permissions fastlane fastlane-snapshot

7
推荐指数
1
解决办法
714
查看次数

如何在Linux中创建Alt + Tab友好的全屏程序(如游戏)?

我想创建一个应用程序,我在窗口上绘制,无论是窗口还是全屏,我抓住鼠标但没有拦截任何 WM键盘快捷键,如Alt + Tab,我还需要在用户进入/离开时收到通知焦点.

谷歌Chrome,Firefox或gnome-terminal等常见应用程序可以很好地处理这个问题(使用F11全屏,但仍然使用Alt + Tab),但他们不会抓住鼠标.

SDL对此用例的处理方式臭名昭着:SDL_WM_GrabInput抓取鼠标但也拦截WM快捷方式; 和SDL_FULLSCREEN似乎有一些自动抓取(不要问我为什么).

一个解决方案可能是自己为Alt + Tab编写代码,但这很糟糕(并且对其他WM快捷方式没有帮助,比如更改到另一个工作区).

另一个解决方案是不调用SDL_WM_GrabInput,而是伪造一个抓取:只需隐藏鼠标指针(使用SDL_ShowCursor)并在用户移动时将其移回中心.这是丑陋的,但在实践中工作 - 当然除了SDL_FULLSCREEN,因为它自动抓取(不同于理智的实现).这是一个全屏功能的SDL解决方案,但这仍然不是我想要的.我不想有黑客来启用和禁用抓取,我想抓住鼠标而不是抓住键盘.

所以我对SDL很生气,并希望看到其他选择.我使用SDL,但这不是必需的.

这个问题似乎指出SDL实际上做的是使用XGrabKeyboard.通过阅读手册页,我不清楚你是否可以在不抓取键盘的情况下抓住鼠标(我自己从未使用过Xlib).

我知道如何使用GTK制作"假全屏"(即Alt + Tab友好,gnome-terminal类型).我想这样做,加上鼠标隐藏并将其移回中心("假抓取")可以做到这一点,但这感觉就像是过多的胶带.必须有一个更简单的方法.(另外我不想将GTK添加为依赖项;但我也不确定是否进行原始Xlib调用是一个好主意).

对此有什么好的解决方案?

我需要一个Linux/X11解决方案但是跨平台它会很好 - 我知道这可以在Windows上顺利解决,所以也许有一个库正是这样做的.(另外,我用OpenGL渲染,但这是无关紧要的)

PS:也许我对这个问题了解不多,而且我没有问正确的问题,所以请随意指出我没有考虑过的方法.

linux x11 sdl fullscreen screen-grab

6
推荐指数
1
解决办法
2382
查看次数

屏幕抓取PHP和/或Javascript?

只是想知道是否可以通过PHP脚本或javascript屏幕抓取您正在查看的页面?例如,在iframe中加载页面然后将该视图另存为JPEG?

我确定它有可能以某种方式,但是有没有任何已知的实现/库可以提供帮助?

javascript php image screen-grab

0
推荐指数
1
解决办法
2万
查看次数