如何查看应用程序外的任何屏幕?

时间:2017-02-22 04:26:44

标签: android

我无法使用getWindow内部服务获取视图。

我将此视图用于应用程序之外的任何屏幕。

View v1 = getWindow().getDecorView().getRootView();

如何在服务中捕获屏幕截图?

或如何查看应用程序外的任何屏幕?

1 个答案:

答案 0 :(得分:0)

Punch Line:你提问时非常糟糕。

但我会尝试回答我理解的问题。

如何使用屏幕截图?

private void getScreenshot() {

try {

    String imagePath = Environment.getExternalStorageDirectory().toString() + "/" + /*NAME*/ + ".jpg";

    View view = getWindow().getDecorView().getRootView();
    view.setDrawingCacheEnabled(true);
    Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
    view.setDrawingCacheEnabled(false);

    File imageFile = new File(imagePath);

    FileOutputStream outputStream = new FileOutputStream(imageFile);
    int quality = 100;
    bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
    outputStream.flush();
    outputStream.close();

} catch (Throwable e) {
    e.printStackTrace();
}
}

现在就做你想做的截图。

我也不明白你想问什么,

View v1 = getWindow().getDecorView().getRootView();

如果你愿意,你可以进一步澄清。