Учет конкретных устройств на Android

Нам нужно найти способ захвата экрана Android, без использования какого-либо внешнего программного обеспечения, которое будет работать на некорневом телефоне.

Мои исследования показывают, что нет никакого способа сделать это. В любом случае у вас должны быть права root, чтобы можно было захватить экран устройства.

Однако дальнейшие исследования показывают, что для ограниченного числа устройств существует способ сделать это без привилегий root. В качестве доказательства я могу привести следующее приложение на Android-рынке: Скриншот UX.

Он утверждает, что приложение не нуждается в корневых разрешениях для захвата экрана на следующих устройствах:

  • Серия Галактики (S, S2, ...)
  • Телефоны HTC (Sensation, ...)
  • Motorola (Atrix, ...).
  • Серия LG Optimus (G2X, ...)

Некоторые говорят, что устройства Tegra также поддерживают это.

Может ли кто-нибудь указать какую-либо документацию, по крайней мере, на определенные устройства, чтобы мы могли, по крайней мере, поддерживать телефоны HTC, например.

EDIT: Пока мы пытаемся использовать «/ system/bin/screencap», но без успеха на эмуляторе. Имеет ли возможность делать скриншоты на некоторых определенных устройствах, просто означает, что они позволяют использовать «/ system/bin/screencap» или читать напрямую с/dev/graphics/fb0?

Или они дают некоторый API для снятия скриншотов?

Благодарю.

1
nl ja de
Некоторые из этих устройств имеют незащищенный инструмент командной строки, оставленный системным или графическим вендором, который позволяет использовать скриншот DDMS в тех случаях, когда исходный метод raw framebuffer от Google несовместим с оборудованием, а его новые методы еще не реализованы. Такой инструмент может выделяться по имени или по группам и липким битам; хотя, если он не является особым в таких параметрах безопасности, он может указывать недокументированный и незащищенный API, который вы могли бы развернуть и использовать из своего собственного кода.
добавлено автор Chris Stratton, источник
Если вы не можете выполнять свои собственные расследования, то бизнес-область, основанная на временных, специфичных для устройства странностях, не та, с которой вы должны пытаться войти. Даже если вы находитесь, это довольно неустойчивая идея, поскольку эти телефоны станут устаревшими и заменили на рынке те, которые лучше заперты или, по крайней мере, имеют разные ошибки, которые вам придется идентифицировать и использовать.
добавлено автор Chris Stratton, источник
Вам понадобятся ваши собственные исследования возможностей, которые я описал для каждого устройства, представляющего интерес, поскольку это полностью касается уникальных методов различных версий аппаратного обеспечения, которые, вероятно, не соответствуют эмулятор. Если вы собираетесь работать в «не рекомендованной» области разработки Android, вы должны быть готовы самим взглянуть на устройства на этом уровне детализации, а не надеяться найти ответы онлайн.
добавлено автор Chris Stratton, источник
так или иначе, мы можем проверить это? я имею в виду некоторые примеры, руководства и т. д., у нас есть некоторые устройства в списке, на которых мы можем запускать тесты.
добавлено автор cheshie, источник
Крис, не могли бы вы дать ответ на отредактированную версию? Мы понимаем, что риски для написания приложения для этих устройств, также мы понимаем, что функции, представленные в этих устройствах, могут быть заблокированы или дать продукт с множеством ошибок. Тем не менее, мы должны это сделать. В вопросе я написал, что было сделано, поэтому я считаю, что способен проводить собственные расследования.
добавлено автор cheshie, источник

1 ответы

Захват экрана - это старая и обсуждаемая тема на Android. За последние годы разработано несколько основных вариантов:

  1. Запуск screencap на корневых устройствах, но вы уже это знаете.

  2. Запуск screencap и siginging вашего приложения с системным сертификатом:

Существует разрешение READ_FRAME_BUFFER, но вы можете получить его только тогда, когда ваши приложения подписаны как системное приложение.

  1. Использование всех видов трюков ADB, но большинство из них использует screencap, и AFAIK требует, чтобы устройство подключалось к ПК.

But Since Android 5 things have changed.

Android 5.0 позволяет добавлять захват экрана и совместное использование экрана   возможности вашего приложения с новыми API-интерфейсами android.media.projection.   Эта функциональность полезна, например, если вы хотите включить   экрана в приложении для видеоконференций.

     

Новый метод createVirtualDisplay() позволяет вашему приложению захватывать   содержимое основного экрана (дисплей по умолчанию) в Surface   объект, который ваше приложение может затем отправить по сети. Только API   позволяет захватывать небезопасное содержимое экрана, а не системный звук. к   начните загрузку экрана, ваше приложение должно сначала запросить   разрешение путем запуска диалогового окна захвата экрана с использованием намерения   полученных с помощью метода createScreenCaptureIntent ().

Устройства, о которых вы упомянули, довольно стары, и я сомневаюсь, что они получили официальное обновление для Android 5, это оставляет вам второй вариант.

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)