Модераторы: javastic
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скриншот окна, Проблема с R.id.activity_main_contentLay 
:(
    Опции темы
wichujanin
Дата 2.4.2014, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.4.2014

Репутация: нет
Всего: нет



Всем привет!
Цель, сделать скриншот экрана устройства.
В интернете нашел исходник:
Код

import java.io.File;
import java.io.FileOutputStream;
import java.util.Arrays;
import java.util.Iterator;
 
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Toast;
 
................
 
    private void captureScreen(View rootLayout, String fileName) {
        // File root = Environment.getExternalStorageDirectory();
        File root = getExternalFilesDir(null);
        File file = new File(root, fileName);
        Bitmap b = Bitmap.createBitmap(rootLayout.getWidth(), rootLayout.getHeight(), Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(b);
        rootLayout.draw(c);
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(file);
            if (fos != null) {
                b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
                fos.close();
                Toast.makeText(this, "Successful Capturing", Toast.LENGTH_SHORT).show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
.......
 
            View rootLayout = findViewById(R.id.activity_main_contentLayout);
            captureScreen(rootLayout, "screenshot.jpg");

Не компилируется, показывает ошибку тут: findViewById(R.id.activity_main_contentLayout);
activity_main_contentLayout cannot be resolved or is not a field.

Помогите пожалуйста переделать эту функцию, чтобы работала и была вида:
private void captureScreen(String fileName)
Нужно чтобы делала скриншот всего экрана.
PM MAIL   Вверх
wichujanin
Дата 2.4.2014, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.4.2014

Репутация: нет
Всего: нет



captureScreen(getWindow().getDecorView().getRootView(), "screenshot.jpg");
не получается Помогите плиз.

Добавлено через 13 минут и 9 секунд
Пробую так: 
Код

    private void PrtSc(){
        
        int i = 0;
        
        Bitmap bitmap;
        View v1 = getWindow().getDecorView().getRootView();  
        v1.setDrawingCacheEnabled(true);
        
        bitmap = Bitmap.createBitmap(v1.getDrawingCache());
        v1.setDrawingCacheEnabled(false);
            
        if (Environment.MEDIA_MOUNTED.equals(Environment
                .getExternalStorageState())) {
            File sdCard = Environment.getExternalStorageDirectory();
            File directory = new File(sdCard.getAbsolutePath()
                    + "/ScreenShots");
            directory.mkdirs();

            String filename = "screenshot" + i + ".jpg";
            File yourFile = new File(directory, filename);

            while (yourFile.exists()) {
                i++;
                filename = "screenshot" + i + ".jpg";
                yourFile = new File(directory, filename);
            }

            if (!yourFile.exists()) {
                if (directory.canWrite()) {
                    try {
                        FileOutputStream out = new FileOutputStream(
                                yourFile, true);
                        bitmap.compress(Bitmap.CompressFormat.PNG, 90,
                                out);
                        out.flush();
                        out.close();
                        i++;
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                }
            }

        }

    }

Скриншот не создается :(
PM MAIL   Вверх
wichujanin
Дата 2.4.2014, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.4.2014

Репутация: нет
Всего: нет



Неужели никто не знает :(
PM MAIL   Вверх
wichujanin
Дата 2.4.2014, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 2.4.2014

Репутация: нет
Всего: нет



Решил проблему, нужно добавить     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Android | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.