安卓開發如何實現截圖功能
❶ android如何截屏,需要截外部應用的屏幕
如android手機需要截外部應用的屏幕,可通過以下步驟進行截屏:
1、同時按住android手機的電源鍵和音量減鍵;
2、點擊手機的設置,找到通知欄或直接在下拉菜單裡面設置,使截屏工具內置在下拉菜單當中,可通過下拉菜單的快捷開關按鈕實現截屏;
3、藉助第三方APP截屏,利用手機QQ搖一搖截屏功能,或藉助手機類助手;
4、因手機品牌型號存在差異,建議可詳細查看手機說明書或聯系手機售後核實。
百倍用心,10分滿意
❷ 安卓截屏命令
在安卓開發中, 我們很多時候都要用到截屏這個功能。
有時是為了演示, 有時是為了報告問題(比如在Bugzilla, Jira, Redmine等Bug跟蹤系統中上傳截圖), 有時是為了發布應用時要用的截圖。
今天就來聊聊如何快速只用一句簡單的命令就搞定截圖。
由繁到簡的演進:三種方法
這篇主要講Linux系統下如何Android手機截屏(當然了,Windows下也類似,可以自行嘗試):
首先你的Linux中要安裝了adb(也就是Android Debug Bridge,可以在你下載的Android的SDK的platform-tools文件夾中找到,只要把路徑加入PATH環境變數就可以)。
而且你的Android手機須要開啟了Develop options (開發者選項,要開啟好像一般是在Settings(設置)里的About device(關於本機)中按7次Build number那個地方),如下:
那麼截屏有哪幾種方式呢?應該有很多,這里提供由繁到簡的三種方法,也記錄了小編從事Android開發之後的截屏方法的「演進」。哈哈,以前是挺蠢萌的(話外音:小編你只有蠢,沒有萌,好不...):
1. 手動+adb命令
用你的手機的組合鍵來截屏(一般是同時按下Home鍵和電源鍵),然後用adb pull來取回本地:
adb pull /手機的截屏圖片保存路徑/xxx.png
2. 純adb命令
1.使用screencap這個命令,配合adb命令來實現截圖並保存到手機的/sdcard目錄中:
adb shell screencap -p /sdcard/hello.png
2.用adb pull將手機中的文件取回本地:
adb pull /sdcard/hello.png
成功運行上面兩行命令之後,你的家目錄~中就會多出一個hello.png的圖片。
當然了,截圖時注意不要鎖屏,不然截出來就是黑屏。
3. Shell函數+命令
第二種用adb命令的方式已經比較簡單快捷了。但是,作為程序員,難道每次截屏都要輸入這兩個命令嗎?簡直不能忍。
程序員要學會「偷懶」
一般Ubuntu(或其他Linux發行版,例如Fedora)中默認的Shell程序是Bash。因此我們其實可以在.bashrc中寫一個函數:
1.用你慣用的文本編輯器打開.bashrc
❸ 安卓手機如何截屏幕截圖
安卓手機的話 你要快捷鍵也可以啊 快捷鍵的話 營業額電源鍵往那個音量下鍵 同時按的話就可以截屏 要不就把那個下拉菜單拉下來 那裡面也有個那個截屏的那個菜單的那個剪刀 你點一下就可以截屏了唄
反正華為的話 你再截圖屏幕的一那個書曉的那個圖的一瞬間就點那個小圖的話 他馬上就會結出那個全屏的 它還會滾動截屏的
❹ 如何在Android裡面使用代碼截屏
回答:Android SDK的截屏
方法步驟:如下
方法一:
(1)主要就是利用SDK提供的View.getDrawingCache()方法。網上已經有很多的實例了。首先創建一個android project,然後進行Layout,畫一個按鍵
HelloAndroid.java實現代碼為:packagecom.example.helloandroid;
這個代碼會在按下app中按鍵的時候自動在手機的/sdcard/目錄下生成一個時間戳命名的png截屏文件。
這種截屏有一個問題,就是只能截到一部分,比如電池指示部分就截不出來了。
(2)在APK中調用「adb shell screencap -pfilepath」 命令
該命令讀取系統的framebuffer,需要獲得系統許可權:
(1). 在AndroidManifest.xml文件中添加
(3).利用系統的API,實現Screenshot,這部分代碼是系統隱藏的,需要在源碼下編譯,
1).修改Android.mk, 添加系統許可權
LOCAL_CERTIFICATE := platform
2).修改AndroidManifest.xml 文件,添加
許可權
方法二:
Android ddmlib進行截屏
Android本地編程(Native Programming)讀取framebuffer
(1)命令行,框架的截屏功能是通過framebuffer來實現的,所以我們先來介紹一下framebuffer。
Linux FrameBuffer 本質上只是提供了對圖形設備的硬體抽象,在開發者看來,FrameBuffer 是一塊顯示緩存,往顯示緩存中寫入特定格式的數據就意味著向屏幕輸出內容。所以說FrameBuffer就是一塊白板。例如對於初始化為16 位色的FrameBuffer 來說, FrameBuffer中的兩個位元組代表屏幕上一個點,從上到下,從左至右,屏幕位置與內存地址是順序的線性關系。幀緩存有個地址,是在內存里。我們通過不停的向frame buffer中寫入數據, 顯示控制器就自動的從frame buffer中取數據並顯示出來。全部的圖形都共享內存中同一個幀緩存。
方法三:Android截屏實現思路
Android系統是基於Linux內核的,所以也存在framebuffer這個設備,我們要實現截屏的話只要能獲取到framebuffer中的數據,然後把數據轉換成圖片就可以了,android中的framebuffer數據是存放在 /dev/graphics/fb0 文件中的,所以我們只需要來獲取這個文件的數據就可以得到當前屏幕的內容。
現在我們的測試代碼運行時候是通過RC(remote controller)方式來運行被測應用的,那就需要在PC機上來訪問模擬器或者真機上的framebuffer數據,這個的話可以通過android的ADB命令來實現。
注意:
1、需要在AndroidManifest.xml中加入代碼:android:sharedUserId="android.uid.system"。
2、由於調用了@hide的API,所以編譯得時候請使用makefile編譯。或者通過在Eclipse中添加Jar文件通過編譯。
3、此代碼只在Android4.0中使用過,2.3的就沒去做測試了。
補充說明:
利用TakeScreenShotService截圖Android手機一般都自帶有手機屏幕截圖的功能:在手機任何界面(當然手機要是開機點亮狀態),通過按組合鍵,屏幕閃一下,然後咔嚓一聲,截圖的照片會保存到當前手機的圖庫中,
對手機android源碼中通過組合鍵屏幕截圖的整個流程有個大體了解了,在改動中熟悉按鍵的捕獲原理,並且清楚調用的截屏函數介面即可。
❺ 怎麼用安卓手機截屏
1,截屏
很多人截屏採用同時按住關機鍵和音量鍵的方式,這種方式容易誤操作,很容易就鎖屏。可以採用以下兩種方式:
利用「小圓點」里添加截屏:點擊設置,觸控,打開輔助觸控,自定頂層菜單,「+」圖標,再點擊圖標,選擇截屏。添加以後,點擊「小圓點」,再點擊截屏,就可以實現截屏功能。
敲擊手機背板實現截屏:設置,輔助功能,觸控,底部找到輕點背面,在輕點兩下或者三下里選擇截屏,就可以實現敲擊背板截屏。
2,截長屏
復制網頁鏈接,打開Safari瀏覽器,粘貼鏈接,並打開網頁。截屏,可以敲手機背板,也可以同時按住關機鍵和音量+鍵。截屏之後,點擊左下角截屏的照片,在裡面選擇「整頁」,即可。
3,復制照片上的文字
課堂上的板書太多,來不及抄寫,或者街上看到一段文字,可以用手機進行拍照,拍完後在相冊里找到照片,長按照片就可以選擇文字並進行復制,非常方便。
4,保護隱私
經常發現在網路搜了一款衣服,在其他APP里就開始推薦剛剛搜過的款式相似的衣服;在某APP看了某種類型的視頻,在其他APP里推薦同類型的視頻。在這些APP面前毫無隱私可言,利用大數據「殺熟」。
此時我們就可以限制其他APP跟蹤我們的訪問記錄。依次點擊設置,隱私,關閉「允許APP請求跟蹤」,或者在下面的列表裡有選擇的關閉。
5,無痕訪問
當需要隱藏訪問記錄時,可以採用無痕瀏覽模式。打開Safari瀏覽器,點擊右下角兩個小方框,點擊起始頁,選擇無痕瀏覽即可。
6,關閉APP通知廣告
APP經常會推送營銷廣告,會讓人誤以為是消息,可以關閉APP的通知,就不會再收到各種通知廣告。依次點擊設置,通知,選擇APP,將允許通知關閉。
7,減少系統耗電
當手機電量不多,我們可以採用以下幾個方法盡量減少手機系統的耗電。將顯示與亮度設置為自動;在通用,後台APP刷新里關閉刷新許可權或者選擇指定的APP關閉刷新的許可權;在不用使用5G網路時,關閉5G功能,5G要比4G耗電量多一倍甚至更多。