Android中的屏幕截图

Sri*_*Sri 10 android screenshot

我想开发一个应用程序,它将截取android屏幕截图..任何人都知道该怎么做..?这类似于koushik duttas屏幕截图.但是没有使用root ..并且任何人都有koushik dutta截图应用程序正在工作..?是不是为我工作..请让我知道..谢谢你提前.

小智 19

假设你点击了一个按钮:

findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
   @Override
   public void onClick(View v) {
       Bitmap bitmap = takeScreenshot();
       saveBitmap(bitmap);
   }
});
Run Code Online (Sandbox Code Playgroud)

之后你需要这两种方法:

public Bitmap takeScreenshot() {
   View rootView = findViewById(android.R.id.content).getRootView();
   rootView.setDrawingCacheEnabled(true);
   return rootView.getDrawingCache();
}

 public void saveBitmap(Bitmap bitmap) {
    File imagePath = new File(Environment.getExternalStorageDirectory() + "/screenshot.png");
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(imagePath);
        bitmap.compress(CompressFormat.PNG, 100, fos);
        fos.flush();
        fos.close();
    } catch (FileNotFoundException e) {
        Log.e("GREC", e.getMessage(), e);
    } catch (IOException e) {
        Log.e("GREC", e.getMessage(), e);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 我只是说,你有"screenshot.png"作为文件名,但使用CompressFormat.JPEG作为压缩格式.不一致性. (2认同)

Nic*_*oul 0

我认为没有root或SDK是不可能的,抱歉。

我很乐意被证明是错误的。

不是一个应用程序,但如果您有 USB 电缆,您可以在 PC 上安装 Android SDK,并使用androidscreencast从 PC 截取屏幕截图,而无需 root 手机。