簡體   English   中英

如何在 Android 中獲取所有內容的像素 bitmap,包括對話和祝酒詞?

[英]How to get pixel bitmap of everything, including Dialogs and Toasts, in Android?

我在互聯網上做了一些搜索。 有人建議使用 PixelCopy API 或 Canvas。 但是,任何一種方式都僅限於獲取裝飾視圖的 bitmap。 如果當前活動之上有 toast 或 AlertDialog,則它們的圖像不會出現在最終的 bitmap 中。

所以我的問題是,我能否獲得整個活動的 bitmap,而不僅僅是查看,所以 bitmap 在活動之上包含任何對話框或吐司?

所以我的問題是,我能否獲得整個活動的 bitmap,而不僅僅是查看,所以 bitmap 在活動之上包含任何對話框或吐司?

是的,我們可以使用 window 管理器來訪問層次結構中的所有視圖。

如何實現這一點:

  1. 獲取活動的window管理器,該管理器負責管理 windows 的有序列表,並包含有關它們在屏幕上的布局方式的信息。 這為Object提供了您需要的視圖層次結構。
  2. 對於來自 object 的目標 class,使用getDeclaredFields()方法獲取聲明的字段。 這給出了為給定活動視圖聲明的所有視圖字段。 您可以使用字段標簽mGlobalmRootsmParams來區分視圖層次結構。
  3. 這使您可以訪問活動中聲明的所有視圖字段。

Falcon對此進行了深思熟慮的實施。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM