Eigentlich versuche ich Screenshot von meiner Aktivität zu erfassen, der Code nimmt den Screenshot der aktuellen Aktivität, aber was ich brauche, ist Code muss den Screenshot des Bildschirms nach einer Minute, wenn der Benutzer auf die Schaltfläche klickt.Wie wird der Bildschirm nach einem bestimmten Zeitschlitz aufgenommen?
hier ist mein Code so:
@Override
public void run() {
try {
serverSocket = new ServerSocket(SocketServerPORT);
takeScreenshot();
for(int i=0;i<5;i++)
{
// Socket socket = serverSocket.accept();
takeScreenshot();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// FileTxThread fileTxThread = new FileTxThread(socket);
// fileTxThread.start();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void takeScreenshot()
{
try {
// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString() + "/sna/" + "screenyash"+i + ".jpg";
i++;
// create bitmap screen capture
View v1 = getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
File imageFile = new File(mPath);
FileOutputStream outputStream = new FileOutputStream(imageFile);
int quality = 100;
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
outputStream.flush();
outputStream.close();
// openScreenshot(imageFile);
} catch (Throwable e) {
// Several error may come out with file handling or OOM
e.printStackTrace();
}
}