摘要:第四個(gè)提示不可截屏。代碼設(shè)置不允許截屏在項(xiàng)目里面,通過(guò)設(shè)置可以讓界面不允許執(zhí)行截屏操作。這邊實(shí)際測(cè)試驗(yàn)證了,只要禁止截屏的界面可見(jiàn),就算它的回調(diào)了,也是不可以截屏的。
本文公眾號(hào)「AndroidTraveler」首發(fā)。
背景在實(shí)際的應(yīng)用場(chǎng)景中,Android 手機(jī)的截屏其實(shí)是很普遍的。
比如說(shuō) PPT 演示,比如說(shuō)技術(shù)博客圖文并茂講解。
因此懂得 Android 手機(jī)截屏的各種操作就顯得尤為重要。
使用 AndroidStudio 自帶的截屏工具
在 Logcat 選項(xiàng)卡的左邊工具欄有個(gè)拍照?qǐng)D標(biāo),點(diǎn)擊一下就可以了。
點(diǎn)擊之后會(huì)彈出下面框,上面有一些操作可以點(diǎn)擊,可以看到分別是重新截圖、往左旋轉(zhuǎn)、往右旋轉(zhuǎn)、拷貝到粘貼板。
使用 Vysor
如果你使用的瀏覽器是 Chrome 瀏覽器,那么直接添加 Vysor 擴(kuò)展程序即可。
使用 Vysor 要求手機(jī)端也要安裝,但是你啟動(dòng)電腦端的 Vysor,會(huì)自動(dòng)在你手機(jī)進(jìn)行安裝。
可以看到截屏也是點(diǎn)擊拍照按鈕即可。
使用 adb 命令行執(zhí)行命令
adb shell /system/bin/screencap -p /sdcard/tmp.png
其中最后一個(gè)字符串是路徑,你需要指定你截取的圖片保存的位置。
在上面的演示里面,是 /sdcard/tmp.png。
接著把手機(jī)保存的截圖 pull 到桌面端。
執(zhí)行命令
adb pull /sdcard/tmp.png .
其中最后一個(gè)字符串是你桌面端的路徑,你需要指定手機(jī)拉取的圖片保存在客戶端哪個(gè)位置。
在上面的演示里面,是當(dāng)前目錄。
使用系統(tǒng)截圖工具這個(gè)不用多說(shuō)了,直接使用系統(tǒng)的截圖工具進(jìn)行截圖即可。默認(rèn)會(huì)保存到相冊(cè)。
你以為到這里就結(jié)束了?
真正背景
在上述背景的前提下,當(dāng)我用盡上面的截圖方法時(shí),每個(gè)方法對(duì)應(yīng)的結(jié)果如下:
第一個(gè):直接把我 AndroidStudio 的截圖工具搞奔了,點(diǎn)擊提示錯(cuò)誤。
第二個(gè):Vysor 直接黑屏。
第三個(gè):adb pull 出來(lái)的圖片大小為 0 KB。
第四個(gè):提示不可截屏。
其實(shí)前面三種方法不行我們覺(jué)得還好,但是最后系統(tǒng)這種方法不行。那就要考慮是不是系統(tǒng)層面做了處理。
代碼設(shè)置不允許截屏在 Android 項(xiàng)目里面,通過(guò)設(shè)置可以讓界面不允許執(zhí)行截屏操作。
設(shè)置也很簡(jiǎn)單,就是在 Activity 里面增加下面語(yǔ)句即可:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
那么,如何解決呢?
自己的 APP
如果是自己的 APP,那么很簡(jiǎn)單,直接給代碼臨時(shí)加個(gè)注釋就可以了。
其他 APP可能你會(huì)考慮既然是給 Activity 設(shè)置禁止截屏標(biāo)志,那么我另外開(kāi)一個(gè)應(yīng)用,然后給 Activity 設(shè)置透明,是不是就可以起到間接的截屏操作?
答案是不行的。這邊實(shí)際測(cè)試驗(yàn)證了,只要禁止截屏的界面可見(jiàn),就算它的 onPause 回調(diào)了,也是不可以截屏的。表現(xiàn)在 Vysor 上就是有一層黑色背景疊加在上面一樣。
所以,假設(shè)真的需要,直接拿另一個(gè)手機(jī)拍照吧。
思考一般設(shè)置不允許截屏肯定是有一些考慮的(諸如安全之類的),所以要不要強(qiáng)制獲取界面,還是要考慮清楚的。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/7045.html
摘要:先看效果演示接下來(lái)手把手教你實(shí)現(xiàn)這樣的效果。的核心功能都在中實(shí)現(xiàn),如果要進(jìn)行二次開(kāi)發(fā)直接引用即可。在及以上版本中默認(rèn)是隱藏的。首次調(diào)試,手機(jī)會(huì)彈出是否允許某臺(tái)電腦以方式調(diào)試該手機(jī)的問(wèn)詢對(duì)話框,勾選允許使用這臺(tái)計(jì)算機(jī)進(jìn)行調(diào)試。先看效果演示?接下來(lái)手把手教你實(shí)現(xiàn)這樣的效果。?minicap簡(jiǎn)介??? minicap是一個(gè)可以遠(yuǎn)程獲取android屏幕畫(huà)面的開(kāi)源庫(kù),它在低版本的Android系統(tǒng)上...
摘要:還有就是項(xiàng)目發(fā)布后項(xiàng)目中一些數(shù)據(jù)安全,等方面,都值得我們考慮,思索。官方文檔安全說(shuō)明及其以上系統(tǒng)提供了為應(yīng)用程序數(shù)據(jù)的備份和恢復(fù)功能,此功能的開(kāi)關(guān)決定于該應(yīng)用程序中文件中的屬性值,其屬性值默認(rèn)是。解決方案自己進(jìn)行數(shù)據(jù)加密。 在個(gè)人和公司開(kāi)發(fā)的項(xiàng)目發(fā)布后,作為軟件工程師最擔(dān)心的就是代碼安全(雖說(shuō)現(xiàn)今而言,技術(shù)已沒(méi)有什么秘密,聰明人很多,你的功能可能別人稍加研究就能不看代碼也能實(shí)現(xiàn)(黑科技...
摘要:前言用有一段時(shí)間了,從用搭建項(xiàng)目一步步配置,到之后的研究動(dòng)效這些,一直想寫(xiě)些東西記錄一下做個(gè)總結(jié),剛好趁著有空就整理一下。結(jié)語(yǔ)有新的知識(shí)點(diǎn)會(huì)更新到知識(shí)體系中,總結(jié)和心得體會(huì)會(huì)單獨(dú)寫(xiě)文章詳述,努力填坑 前言 用vue有一段時(shí)間了,從用vue-cli搭建項(xiàng)目、一步步配置axios、vuex、vue-router,到之后的研究canvas、動(dòng)效這些,一直想寫(xiě)些東西記錄一下、做個(gè)總結(jié),剛好趁著...
閱讀 736·2023-04-25 19:43
閱讀 3981·2021-11-30 14:52
閱讀 3807·2021-11-30 14:52
閱讀 3871·2021-11-29 11:00
閱讀 3802·2021-11-29 11:00
閱讀 3904·2021-11-29 11:00
閱讀 3580·2021-11-29 11:00
閱讀 6183·2021-11-29 11:00