ban*_*ing 5 android android-emulator android-screen
我的应用程序允许用户截取屏幕截图,然后将其发送到服务器.
在真实设备上,屏幕截图保存在一起,/storage/emulated/0/Pictures/Screenshots/这样就可以了.
但是在模拟器上,当我单击Take screenshot按钮(位于模拟器旁边的面板中)时,屏幕截图会保存到我的计算机上,但我无法在模拟器的文件系统中找到它 - /storage/emulated/0/Pictures/目录存在,但/storage/emulated/0/Pictures/Screenshots/子目录没有.
有什么方法可以访问模拟器上的截图图像,还是有其他方式来截取屏幕截图?
模拟降低音量+电源事件以触发Android的屏幕截图,然后屏幕截图图片将存储在模拟器的/storage/emulated/0/Pictures/Screenshots。
这是脚本。运行adb shell,然后复制下面的代码并运行,您应该看到模拟器开始截图。
cat > /data/local/tmp/screenshot.sh <<EOF
#!/bin/sh
echo 'volume key: down'
sendevent /dev/input/event1 1 114 1
echo 'power key: down'
sendevent /dev/input/event1 1 116 1
sendevent /dev/input/event1 0 0 0
sleep 1
echo 'volume key: up'
sendevent /dev/input/event1 1 114 0
echo 'power key: up'
sendevent /dev/input/event1 1 116 0
sendevent /dev/input/event1 0 0 0
EOF
sh /data/local/tmp/screenshot.sh
Run Code Online (Sandbox Code Playgroud)
注意:我的仿真器的输入设备是“ / dev / input / event1”,其他设备可能有所不同。您可以通过运行adb shell getevent命令获取设备信息,然后按仿真器的键,输出将如下所示(“我的音量调低”键,这些是十六进制数字,因此0x0072为114d):
/dev/input/event1: 0001 0072 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001 0072 00000000
/dev/input/event1: 0000 0000 00000000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5407 次 |
| 最近记录: |