我正在試圖獲取應用程序屏幕上顯示的所有內容的位圖。我目前檢索視圖及其截圖下列要求:如何截取Activity的內容,包括PopupWindows和AlertDialogs?
View viewToCapture = activity.getWindow().getDecorView().getRootView();
... // some code here for enabling drawing cache if necessary, etc
Bitmap screenshot = viewToCapture.getDrawingCache();
得到的屏幕截圖顯示我想要的東西,除非PopupWindow
或AlertDialog
當前處於打開狀態。它們似乎不在根視圖下的視圖層次結構內。我可以使用其他視圖來捕獲屏幕上的所有內容嗎?我對捕獲應用程序之外的任何內容不感興趣,例如通知欄。
我可以在一個活動中訪問任何PopupWindows和AlertDialogs而不用創建它們嗎?我正在製作一個截取屏幕截圖的庫,所以我不知道PopupWindow或AlertDialog是否會出現。 – BVB
使用戶通過popupwindow或alertdialog的實例,然後調用任何.isShowing()並從那裏處理它 – rperryng
我擔心這將是唯一的解決方案。想盡可能簡單地使用它。謝謝(你的)信息!你能把這個添加到你的答案嗎?我會接受它。 – BVB