有沒有一種方法可以在用戶使用應用程序時拍攝我的android應用程序的屏幕截圖,並在不知道用戶的情況下將這些屏幕截圖發送到服務器。應該在特定的時間間隔拍攝屏幕截圖。在Android應用程序中不知道用戶的屏幕截圖
請給出一些實現的想法。
有沒有一種方法可以在用戶使用應用程序時拍攝我的android應用程序的屏幕截圖,並在不知道用戶的情況下將這些屏幕截圖發送到服務器。應該在特定的時間間隔拍攝屏幕截圖。在Android應用程序中不知道用戶的屏幕截圖
請給出一些實現的想法。
假設在該特定屏幕中存在ImageView或TextView或某個其他視圖,如按鈕等。然後,你會做這樣的:
View v=img.getRootView(); //img is ImageView. you replace it with your view
v.setDrawingCacheEnabled(true);
Bitmap bmp= v.getDrawingCache();
你要位圖轉換爲byte[]
並將其發送到服務器。
使用下面的代碼,你可以能夠採取截屏:
View root = findViewById(android.R.id.content);
root.setDrawingCacheEnabled(true);
Bitmap bm = Bitmap.createBitmap(root.getDrawingCache());
root.setDrawingCacheEnabled(false);
而且你可以處理這個代碼按您的要求。這裏bm是屏幕截圖位圖,您可以將該位圖文件發送到適當的服務器並瞭解它。
享受。 :)
正如你所說,你想從你的應用程序截圖,試試這個。
Bitmap bitmap;
View v1 = MyView.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
MyView是通過我們需要包括在屏幕中的視圖。
據我記憶,在非根目錄的設備上採取screenshotsis並非易事,因爲只有「特殊」應用纔有權採取截圖(由製造商簽名)。這是一個安全問題(你的電腦上的android =鍵盤記錄器中的screenlogger)。 有一點需要看一下:自從我上次嘗試它以來已經有一段時間了,但我認爲你必須使用本地庫。 – Sprigg 2012-04-03 06:26:09