【问题标题】:take screenshot at start main activit [duplicate]在开始主要活动时截屏[重复]
【发布时间】:2015-03-11 04:52:13
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:
    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();
            }
        }
    

    以上代码完成截屏并将其以 png 格式保存在 sdcard 中的任务

    onCreate函数中调用这段代码


    方法 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,用于 System Request / Print Screen 键。

    【讨论】:

      【解决方案2】:

      您不需要屏幕截图 只需将活动背景透明并使用ontouchlistener添加破解效果

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-26
        相关资源
        最近更新 更多