- Скриншот экрана
- Решение
- Как программно сделать снимок экрана в Android?
- How to Take Screenshot of Android Application in Android Emulator and Real Device from Android Studio
- How to Take Screenshot From Android Studio
- Скриншот в сервисе Android Studio
- Как записывать экран и делать скриншоты, используя Android API?
- проблема
- что я нашел
- вопросы
Скриншот экрана
Здраствуйте, мне нужно зделать програмно скриншот екрана. я нашол статтюhttp://developer.alexanderklim. eenshotapp по етому поводу но там немного не то что мне надо, здесь описано скриншот активного активити а мне нужно сделать скриншот всего екрана. Помогите пожалуста если кто то встречалса з такой проблемой.
Сделать скриншот экрана в Genymotion
Подскажите как можно сделать скриншот экрана с помощью эмулятора Genymotion?
как программно сделать скриншот экрана
как програмно сделать скриншот экрана?
Как сделать скриншот экрана без прав Root-а?
как сделать скриншот всего экрана без использования(getRootView()) без рут прав ??
Скриншот окна
Всем привет! Цель, сделать скриншот экрана устройства. В интернете нашел исходник: import.
Ну мне нужно скрин всего экрана.
Вот я и спрашываю, может есть способ это сделать?
Решение
Боооооооооооольшое спасибо. )))) только есть вопрос:
что в этой строке View v1 = mCurrentUrlMask.getRootView();
mCurrentUrlMask где его берут. или как его огласить. Я зделал так private static final View mCurrentUrlMask = null; но я понимаю что это не верно. (((((( Ищо раз спасибо.
Добавлено через 50 минут
Извините но у меня возник ещо вопрос по поводу. )
getWindow().getDecorView().getRootView(); я создаю свой Service, и там соритса на getWindow(). ((( Как зделать чтоби оно работало в сервысе? (тойсть я хочу чтоби скраншот делался в отдельном потоке. )
Uri uri = Uri.fromFile(new File(mPath)); где нужно прописывать??
Добавлено через 1 час 10 минут
все это норм только работает в рамках своего приложения а мне нужен скрин дисплея вообще а как это сделать может ASL попробовать??
Скриншот в фоновом режиме
Цель — создание приложения, работающего в фоне и делающего снимок всего экрана с любой текущей.
Скриншот google map
Дайте пожалуйста пример того, как сделать скриншот карты google (api v2) и установления его в.
Как сделать такую игру(скриншот+)?
В этой игре физика «вид сверху». Нужно двигать блоки(они упираются друг в друга), горизонтальные.
Скриншот гугл карты при нажатии на кнопку
Есть ли возможность написать обработчик для кнопки, который делает скриншот текущей карты вместе с.
Источник
Как программно сделать снимок экрана в Android?
Как снять снимок экрана с выбранной области экрана телефона не с помощью какой-либо программы, а из кода?
Вот код, который позволил сохранить мой скриншот на SD-карте и использоваться позже для любых ваших нужд:
Во-первых, вам нужно добавить правильное разрешение на сохранение файла:
И это код (работает в Activity):
Вот как вы можете открыть недавно созданное изображение:
Если вы хотите использовать это в виде фрагмента, используйте:
On функция takeScreenshot ()
Вызовите этот метод, передав во внешнюю большую часть ViewGroup, что вы хотите сделать снимок экрана:
Примечание: работает только для корневого телефона
Программно вы можете запустить adb shell /system/bin/screencap -p /sdcard/img.png как adb shell /system/bin/screencap -p /sdcard/img.png ниже
Затем прочитайте img.png как Bitmap и используйте по своему усмотрению.
EDIT: помилуй с downvotes. Это было в 2010 году, когда я ответил на вопрос.
Все программы, которые позволяют скриншоты работать только на корневых телефонах.
Ответ Mualig очень хороший, но у меня была та же проблема, что и Ewoks, я не получаю фона. Поэтому иногда бывает достаточно, и иногда я получаю черный текст на черном фоне (в зависимости от темы).
Это решение в значительной степени основано на коде Mualig и коде, который я нашел в Robotium. Я отбрасываю использование кэша рисования, вызывая непосредственно метод draw. До этого я попытаюсь извлечь фоновый рисунок из текущей активности, чтобы сделать его первым.
Для этого метода не требуется никакого разрешения root или большого кодирования .
В командной строке adb с помощью команды внизу вы можете сделать снимок экрана.
Эта команда не требует каких-либо прав на root, так же, как и для Java-кода приложения для Android.
Здесь мы использовали. KEYCODE_SYSRQ его значение равно 120 и используется для экрана запроса системы / печати.
Как сказал CJBS, выходное изображение будет сохранено в / sdcard / Pictures / Screenshots
В качестве ссылки один из способов захвата экрана (а не только активности вашего приложения) заключается в том, чтобы захватить фреймбуфер (устройство / dev / graphics / fb0). Для этого у вас должны быть либо права root, либо ваше приложение должно быть приложением с разрешениями подписи («Разрешение, предоставляемое системой только в том случае, если запрашивающее приложение подписано с тем же сертификатом, что и приложение, объявившее разрешение»), которое Очень маловероятно, если вы не составили свой собственный ПЗУ.
Каждый захват фреймбуфера из нескольких устройств, которые я тестировал, содержал ровно один снимок экрана. Люди сообщили, что он содержит больше, я думаю, это зависит от размера кадра / дисплея.
Я пытался читать фреймбуфер непрерывно, но, похоже, он возвращается для фиксированного количества прочитанных байтов. В моем случае это (3 410 432) байт, что достаточно для хранения кадра отображения 854 * 480 RGBA (3 279 360 байт). Да, фрейм в двоичном формате, выводимый из fb0, является RGBA на моем устройстве. Это, скорее всего, будет зависеть от устройства к устройству. Это будет важно для вас, чтобы расшифровать его =)
В моих разрешениях device / dev / graphics / fb0 так, что только root и пользователи из групповой графики могут читать fb0.
Графика – ограниченная группа, поэтому вы, вероятно, будете иметь доступ только к fb0 с помощью корневого телефона с помощью команды su.
Приложения для Android имеют идентификатор пользователя (uid) = приложение _ ## и идентификатор группы (guid) = приложение _ ## .
В оболочке adb есть uid = shell и guid = shell , которая имеет гораздо больше разрешений, чем приложение. Фактически вы можете проверить эти разрешения на /system/permissions/platform.xml
Это означает, что вы сможете читать fb0 в оболочке adb без root, но вы не будете читать его в приложении без root.
Кроме того, предоставление разрешений READ_FRAME_BUFFER и / или ACCESS_SURFACE_FLINGER для AndroidManifest.xml ничего не сделает для обычного приложения, потому что они будут работать только для приложений подписи .
Также проверьте эту закрытую резьбу для более подробной информации.
Вы можете попробовать следующую библиотеку: http://code.google.com/p/android-screenshot-library/ Android Screenshot Library (ASL) позволяет программно снимать скриншоты с Android-устройств без необходимости иметь права доступа root. Вместо этого ASL использует собственный сервис, работающий в фоновом режиме, который запускается через Android Debug Bridge (ADB) один раз за загрузку устройства.
Изображения сохраняются во внешней папке хранилища.
Вы можете попытаться сделать что-то подобное,
Получение кеша растрового изображения из макета или представления, сделав что-то наподобие Сначала вы должны setDrawingCacheEnabled в макет (линейное расписание или релятивирование или представление)
Затем вы делаете все, что хотите, с растровым изображением. Либо превратить его в файл изображения, либо отправить urim растрового изображения в другое место.
ДОБАВИТЬ РАЗРЕШЕНИЕ
Для тех, кто хочет захватить GLSurfaceView, метод getDrawingCache или рисования в холст не будет работать.
Вы должны прочитать содержимое фреймбуфера OpenGL после рендеринга фрейма. Здесь есть хороший ответ
Основываясь на ответе @JustinMorris выше и @NiravDangi здесь https://stackoverflow.com/a/8504958/2232148, мы должны взять фон и передний план представления и собрать их следующим образом:
Параметр качества принимает константу Bitmap.Config, обычно либо Bitmap.Config.RGB_565 либо Bitmap.Config.ARGB_8888 .
Я создал простую библиотеку, которая берет скриншот из представления и либо дает вам объект Bitmap, либо сохраняет его прямо по любому пути
Если вы хотите сделать снимок экрана из fragment а затем выполните следующие действия:
Логика для снятия снимков экрана:
Для деятельности вы можете просто использовать View v1 = getWindow().getDecorView().getRootView(); Вместо mView
Наряду с захватом скриншота, если мы хотим воспроизвести тон также. Мы можем использовать следующий код
Просто расширяя ответ таралоки. Вы должны добавить следующие строки, чтобы заставить его работать. Я сделал статичное имя изображения. Убедитесь, что вы используете переменную timestamp taraloca, если вам нужно динамическое имя изображения.
И в файле AndroidManifest.xml следующие записи должны:
Если вы хотите захватить представление или макет, например RelativeLayout или LinearLayout и т. Д., Просто используйте код:
Теперь вы можете сохранить это растровое изображение на устройстве:
Источник
How to Take Screenshot of Android Application in Android Emulator and Real Device from Android Studio
We make applications and we need their screenshot to upload in stores and share to our friends and clients. When we are seeing application in real device, we can take screenshot from our mobile and tablet and still in some device may not available default screenshot feature. In this post I will show you how to take Android App Screenshot from Android Studio. And in android virtual device or emulator, screenshot can’t be taken directly. So, to take screenshot of the android app in android emulator and real device, android studio is here for us.
From android studio, screenshot of app in both real device and android emulator can be taken. Here I am going to explain idea of taking screenshot step by step.
How to Take Screenshot From Android Studio
Taking screenshot from android studio is very easy and screen can be taken in any android emulator or any real device, just follow these simple steps:
Step 1: Open android studio and run your application just by clicking run button.
Step 2: After running your application, click Android tab on the left bottom of android studio. That will bring up the DDMS window and it looks like screenshot given below.
Step 3: Now click Screen Capture icon on the left side of Android DDMS tool window and it looks like screenshot given below.
Step 4: After clicking Screen Capture icon there appears new window with screenshot image of your application it looks like screenshot given below.
Источник
Скриншот в сервисе Android Studio
(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал так, File -> New ->.
Как сделать скриншот экрана в приложении для Android
Добрый день! Подскажите, пожалуйста, как можно в приложении для Android сделать скриншот всего.
Работа с файлами android которые находятся не в папке проекта Android Studio
Всех приветствую, начал разработку приложения под Android и не могу разобраться как работать с.
Android Studio не находит функцию TextView в пакете Android.Widget
Я создал новый проект в Android Studio. Android Studio не находит функцию TextView в пакете.
Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/. скачал exeшник для установки Android Studio.
Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне подключенному к usb?
Ошибка в Android Studio Error:No resource identifier found for attribute ‘appComponentFactory’ in package ‘android’
Доброго времени суток! При компиляции андроид приложении выходит данная ошибка, прошу помочь! Мне.
Android.support.v4.app.FragmentActivity не работает в Android Studio
объясните пожалуйста,как в андроид студио добавить вышеуказанную библиотеку,чтобы работало у меня.
Приложение вылетает на android 6.0 и ниже, сделанное в Android Studio
На андроиде 7.0 и выше все работает. А на 6ом андроиде и ниже вылетает без ошибок. В интернете.
Источник
Как записывать экран и делать скриншоты, используя Android API?
Android получил новый API на Kitkat и Lollipop, чтобы захватить видео на экране. Вы можете сделать это либо с помощью инструмента ADB, либо с помощью кода (начиная с Lollipop).
С тех пор, как новый API вышел, многие приложения пришли, которые используют эту функцию, позволяя записывать экран, и Microsoft даже сделал свой собственный Google-Now-On-tap конкурент приложение.
используя ADB, вы можете использовать:
вы даже можете сделать это из Android Studio себя.
проблема
Я не могу найти учебник или объяснение о том, как это сделать с помощью API, то есть в коде.
что я нашел
единственное место, которое я нашел, это документация (здесь, в разделе» захват экрана и совместное использование»), говоря мне это:
Android 5.0 позволяет добавлять захват экрана и общий доступ к экрану возможности для вашего приложения с новым android.сми.проекция Апис. Эта функция полезна, например, если вы хотите включить совместное использование экрана в приложении для видеоконференций.
новая createVirtualDisplay() метод позволяет вашему приложению захватывать содержимое главного экрана (дисплей по умолчанию) в поверхность объект, который ваше приложение может затем отправить по сети. Только API позволяет захватывать незащищенное содержимое экрана, а не системный звук. К начните захват экрана, ваше приложение должно сначала запросить пользователя разрешение на запуск диалог захвата экрана с использованием намерения получено через createScreenCaptureIntent() метод.
пример использования новых API см. В разделе MediaProjectionDemo класс в образце проекта.
дело в том, что я не могу найти образец «MediaProjectionDemo». Вместо этого я нашел образец «Screen Capture», но я не понимаю, как он работает, так как, когда я его запустил, все, что я видел, это мигающий экран, и я не думаю, что он сохраняет видео в файл. Образец кажется очень детская коляска.
вопросы
Как выполнить эти действия с помощью нового API:
- начните запись, опционально включая аудио (микрофон/динамик/оба).
- остановить запись
- сделайте скриншот, а не видео.
кроме того, как настроить его (разрешение, запрошенный fps, цвета, время. ) ?
Источник