资讯专栏INFORMATION COLUMN

Android 截屏的各种骚操作

wujl596 / 1004人阅读

摘要:第四个提示不可截屏。代码设置不允许截屏在项目里面,通过设置可以让界面不允许执行截屏操作。这边实际测试验证了,只要禁止截屏的界面可见,就算它的回调了,也是不可以截屏的。

本文公众号「AndroidTraveler」首发。

背景

在实际的应用场景中,Android 手机的截屏其实是很普遍的。

比如说 PPT 演示,比如说技术博客图文并茂讲解。

因此懂得 Android 手机截屏的各种操作就显得尤为重要。

使用 AndroidStudio 自带的截屏工具

在 Logcat 选项卡的左边工具栏有个拍照图标,点击一下就可以了。

点击之后会弹出下面框,上面有一些操作可以点击,可以看到分别是重新截图、往左旋转、往右旋转、拷贝到粘贴板。

使用 Vysor

如果你使用的浏览器是 Chrome 浏览器,那么直接添加 Vysor 扩展程序即可。

使用 Vysor 要求手机端也要安装,但是你启动电脑端的 Vysor,会自动在你手机进行安装。

可以看到截屏也是点击拍照按钮即可。

使用 adb 命令行

执行命令

adb shell /system/bin/screencap -p /sdcard/tmp.png

其中最后一个字符串是路径,你需要指定你截取的图片保存的位置。

在上面的演示里面,是 /sdcard/tmp.png。

接着把手机保存的截图 pull 到桌面端。

执行命令

adb pull /sdcard/tmp.png .

其中最后一个字符串是你桌面端的路径,你需要指定手机拉取的图片保存在客户端哪个位置。

在上面的演示里面,是当前目录。

使用系统截图工具

这个不用多说了,直接使用系统的截图工具进行截图即可。默认会保存到相册。

你以为到这里就结束了?

真正背景

在上述背景的前提下,当我用尽上面的截图方法时,每个方法对应的结果如下:

第一个:直接把我 AndroidStudio 的截图工具搞奔了,点击提示错误。

第二个:Vysor 直接黑屏。

第三个:adb pull 出来的图片大小为 0 KB。

第四个:提示不可截屏。

其实前面三种方法不行我们觉得还好,但是最后系统这种方法不行。那就要考虑是不是系统层面做了处理。

代码设置不允许截屏

在 Android 项目里面,通过设置可以让界面不允许执行截屏操作。

设置也很简单,就是在 Activity 里面增加下面语句即可:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

那么,如何解决呢?

自己的 APP

如果是自己的 APP,那么很简单,直接给代码临时加个注释就可以了。

其他 APP

可能你会考虑既然是给 Activity 设置禁止截屏标志,那么我另外开一个应用,然后给 Activity 设置透明,是不是就可以起到间接的截屏操作?

答案是不行的。这边实际测试验证了,只要禁止截屏的界面可见,就算它的 onPause 回调了,也是不可以截屏的。表现在 Vysor 上就是有一层黑色背景叠加在上面一样。

所以,假设真的需要,直接拿另一个手机拍照吧。

思考

一般设置不允许截屏肯定是有一些考虑的(诸如安全之类的),所以要不要强制获取界面,还是要考虑清楚的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/6848.html

相关文章

  • Android 屏的各种操作

    摘要:第四个提示不可截屏。代码设置不允许截屏在项目里面,通过设置可以让界面不允许执行截屏操作。这边实际测试验证了,只要禁止截屏的界面可见,就算它的回调了,也是不可以截屏的。本文公众号「AndroidTraveler」首发。 背景 在实际的应用场景中,Android 手机的截屏其实是很普遍的。 比如说 PPT 演示,比如说技术博客图文并茂讲解。 因此懂得 Android 手机截屏的各种操作就显得尤为...

    番茄西红柿 评论0 收藏0
  • 手把手教你实现Android真机远程截屏

    摘要:先看效果演示接下来手把手教你实现这样的效果。的核心功能都在中实现,如果要进行二次开发直接引用即可。在及以上版本中默认是隐藏的。首次调试,手机会弹出是否允许某台电脑以方式调试该手机的问询对话框,勾选允许使用这台计算机进行调试。先看效果演示 接下来手把手教你实现这样的效果。 minicap简介    minicap是一个可以远程获取android屏幕画面的开源库,它在低版本的Android系统上...

    joyvw 评论0 收藏0
  • Android项目安全注意事项和解决方案

    摘要:还有就是项目发布后项目中一些数据安全,等方面,都值得我们考虑,思索。官方文档安全说明及其以上系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中文件中的属性值,其属性值默认是。解决方案自己进行数据加密。 在个人和公司开发的项目发布后,作为软件工程师最担心的就是代码安全(虽说现今而言,技术已没有什么秘密,聪明人很多,你的功能可能别人稍加研究就能不看代码也能实现(黑科技...

    laznrbfe 评论0 收藏0
  • Android项目安全注意事项和解决方案

    摘要:还有就是项目发布后项目中一些数据安全,等方面,都值得我们考虑,思索。官方文档安全说明及其以上系统提供了为应用程序数据的备份和恢复功能,此功能的开关决定于该应用程序中文件中的属性值,其属性值默认是。解决方案自己进行数据加密。 在个人和公司开发的项目发布后,作为软件工程师最担心的就是代码安全(虽说现今而言,技术已没有什么秘密,聪明人很多,你的功能可能别人稍加研究就能不看代码也能实现(黑科技...

    WalkerXu 评论0 收藏0
  • 基于vue项目的知识总结

    摘要:前言用有一段时间了,从用搭建项目一步步配置,到之后的研究动效这些,一直想写些东西记录一下做个总结,刚好趁着有空就整理一下。结语有新的知识点会更新到知识体系中,总结和心得体会会单独写文章详述,努力填坑 前言 用vue有一段时间了,从用vue-cli搭建项目、一步步配置axios、vuex、vue-router,到之后的研究canvas、动效这些,一直想写些东西记录一下、做个总结,刚好趁着...

    tianlai 评论0 收藏0

发表评论

0条评论

wujl596

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<