在开始主要活动时截取屏幕截图

时间:2015-01-13 09:22:55

标签: android

我去创建用于破解和破解屏幕的android应用程序,我认为我需要在创建时拍摄启动页面的屏幕截图并保存它并添加触摸位置的中断效果。我可以在活动中拍摄屏幕截图开始拍摄发射器图像?

2 个答案:

答案 0 :(得分:2)

private void captureScreen() {
        View v = getWindow().getDecorView().getRootView();
        v.setDrawingCacheEnabled(true);
        Bitmap bmp = Bitmap.createBitmap(v.getDrawingCache());
        v.setDrawingCacheEnabled(false);
        try {
            FileOutputStream fos = new FileOutputStream(new File(Environment
                    .getExternalStorageDirectory().toString(), "SCREEN"
                    + System.currentTimeMillis() + ".png"));
            bmp.compress(CompressFormat.PNG, 100, fos);
            fos.flush();
            fos.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

以上代码执行拍摄屏幕截图并在sdcard中以png格式保存的任务

onCreate函数

中调用此代码

Methid 2

在使用以下命令的adb shell上,您可以进行屏幕截图。

input keyevent 120

此命令不需要任何root权限,因此您也可以从android应用程序的java代码执行。

        Process process;
        process = Runtime.getRuntime().exec("input keyevent 120");

有关android中的keyevent代码的更多信息,请参阅http://developer.android.com/reference/android/view/KeyEvent.html

我们在这里使用过。 KEYCODE_SYSRQ 其值为120,用于系统请求/打印屏幕键。

答案 1 :(得分:0)

您不需要截屏 只需使活动背景透明并使用ontouchlistener添加裂缝效果

透明背景 How do I create a transparent Activity on Android?