Captura录屏:Capturadepantalla和Android( Telefono)

关于Captura录屏的问题,在captura de pantalla android中经常遇到, 他在 Android 上下载了 capturar la pantalla,pero solo es de la aplicaci ó n que lo invoca,es deter no toma la captura deltel é fono。

他在 Android 上下载了 capturar la pantalla,pero solo es de la aplicaci ó n que lo invoca,es deter no toma la captura deltel é fono。

//Como se invoca el metodo
capturaPantalla(getWindow().getDecorView());
private File capturaPantalla(View v) {
    View rootview = v.getRootView();
    rootview.setDrawingCacheEnabled(true);
    Bitmap bmp = rootview.getDrawingCache();
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    bmp.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmmss", Locale.getDefault());
    String fechaComoCadena = sdf.format(new Date());
    File file = new File(Environment.getExternalStorageDirectory() + File.separator + fechaComoCadena + ".jpg");
    try {
        if (file.createNewFile()) {
            try (FileOutputStream outputStream = new FileOutputStream(file)) {
                outputStream.write(bytes.toByteArray());
                outputStream.close();
            }
        }
    }catch (Exception e) {
        e.printStackTrace();
    }
    rootview.setDrawingCacheEnabled(false);
    return file;
}

他对每一个人都很满意。

1

Esta es una respuesta tomada del sitio de SO en ingl é s que almacena la captura en la tarjeta SD:

https://stackoverflow.com/questions/2661536/how-to-programmatically-take-a-screenshot-in-android

Para Guardar el archivo en la tarjeta:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Y este es el c ó digo:

private void takeScreenshot() {
    Date now = new Date();
    android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);
    try {
        // image naming and path  to include sd card  appending name you choose for file
        String mPath = Environment.getExternalStorageDirectory().toString() + "/" + now + ".jpg";
        // 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 DOM
        e.printStackTrace();
    }
}

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(890)
数据库blob类型:Oracle数据库:如何读取BLOB
上一篇
Cca全国少儿书画大赛:如何使用sklearnCCA模块计算相关系数
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(23条)