На моем Android-телефоне: Как я могу нажать и удерживать клавишу ожидания на правой стороне и кнопку дома одновременно с моим приложением Delphi XE7. То есть получить доступ к этим двум кнопкам, чтобы сделать снимок экрана из моего приложения (в папку с картинками)?Скриншот Android от моего приложения Delphi XE7
ответ
В уровне API 17 (Jelly Bean MR1) и выше, com.android.uiautomator.core.UiDevice
класс Android имеет два takeScreenshot()
методы:
общественное булево takeScreenshot (storePath File)
сделать снимок текущего окна и сохранить его как используется PNG по умолчанию масштаб 1.0f (оригинальный размер) и 90% качества Скриншот регулируется за поворота экрана
Параметры
storePath
где PNG должны быть записаны вВозвращения
верно, если снимок экрана будет создан успешно, иначе ложь
общественного логический takeScreenshot (Файл storePath, поплавок масштаб, int quality)
Сделайте снимок экрана текущего окна и сохраните его как PNG The scr eenshot регулируются за поворот экрана
Параметры
storePath
масштабе
где PNG должны быть записаны в
масштабаскриншот вниз, если это необходимо; 1.0f для оригинального размера
качество
качество сжатия PNG; Диапазон: 0-100Возвращает
Истинные если снимок экрана создан успешно, иначе ложь
Для более старых версий Android, нет экрана API, и вы не можете имитировать аппаратные нажатия клавиш, чтобы заставить его programmably , Хотя кажется, что есть способы, чтобы объекты View
отображали сами объекты Bitmap
, которые затем можно использовать по мере необходимости.
В App Store есть приложения сторонних разработчиков, которые могут делать скриншоты, поэтому, возможно, вы можете вызвать один из них, используя Intent
.
И есть сторонние библиотеки скриншота, такие как Android Screenshot Library на Google Code:
Android Скриншот Library (ASL) позволяет программно захватывать скриншоты из Android устройств без требования наличия привилегий корневого доступа. Вместо этого ASL использует собственный сервис, работающий в фоновом режиме, который запускается через Android Debug Bridge (ADB) один раз за загрузку устройства.
- 1. Ошибка в Delphi xe7 Android
- 2. Delphi XE7 Android Indy IRC
- 3. Delphi XE7 iOs Разработка
- 4. Delphi XE7 Android-заставка - цвет фона
- 5. Как получить имя версии приложения для Android с delphi XE7?
- 6. Delphi XE7 TString.DelimitedText
- 7. Память моего приложения delphi
- 8. Интеллектуальные указатели Delphi XE7
- 9. Delphi Android XE7 Загрузка Bitmap Failed
- 10. Delphi Console XE7 Clearscreen
- 11. Вращение изображения Delphi XE7
- 12. IMAGE_FILE_NET_RUN_FROM_SWAP в Delphi XE7
- 13. Trim in delphi xe7
- 14. Text Prompt Delphi XE7
- 15. Установка JVCL Delphi XE7
- 16. Документация XML Delphi XE7
- 17. Использование VCL Styles От Delphi XE7 до Delphi XE2
- 18. Как получить идентификатор приложения (package + modulename) delphi XE5/XE6/XE7
- 19. Android Pay от моего приложения
- 20. Скриншот моего приложения показывает пустое видео youtube
- 21. Delphi XE7: TEdit TextHint Color
- 22. Delphi XE7 crashses при выключении
- 23. Использование параллельной библиотеки Delphi XE7
- 24. MessageDlg в Delphi xe7 андроида
- 25. Использование UrlCreateFromPath в delphi XE7
- 26. Delphi XE7 + TRegEx как правильно?
- 27. ошибка сегментации tidssliohandlersocket с delphi xe7
- 28. Delphi - Скриншот Качество
- 29. Работа с webform delphi xe7 fmx
- 30. Как создать приложение-установщик delphi xe7
Я не совсем уверен, что вы имеете в виду, но если я правильно понимаю, вы хотите, чтобы ваше приложение фактически нажало комбинацию кнопок на устройстве, чтобы имитировать пользователя, снимающего скриншот. Это не похоже на соответствующий подход. Конечно, есть более прямой способ сделать скриншот, даже не думая о кнопках. –
http://stackoverflow.com/q/2661536 –
Согласен с @JerryDodge ... Возможно, вместо того, чтобы обращаться к аппаратным кнопкам (которые могут быть разными на разных устройствах), вместо этого подумайте об этом с этого угла: как я могу скриншоты, что в настоящее время в моем приложении? Google надлежащим образом и показать, что имеет и что не сработало для вас, и отредактируйте свой вопрос ... Поскольку ваш вопрос стоит, вы, вероятно, не получите большую помощь от показанных усилий. – ThisGuy