延时截屏的使用
来源:互联网 发布:淘宝详情页免费模板 编辑:程序博客网 时间:2024/06/09 18:25
Android系统有自带的截屏方法,音量下键 + power键
但是有时候截屏并不是很方便,比如我们想获取是需要手指在屏幕上进行操作的画面,这样我们就不好去进行截屏操作
比如要获取下面的图,长按搜狗键盘上的T
当然,我们可以采用adb发送截屏命令进行截屏,但是如何采用更自然贴切的方法呢?
这个时候,延时截屏就有用了
音量下键 + power键的快捷截屏方式调用的是
frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
中的
private void interceptScreenshotChord() {
if (mScreenshotChordEnabled
&& mScreenshotChordVolumeDownKeyTriggered && mScreenshotChordPowerKeyTriggered
&& !mScreenshotChordVolumeUpKeyTriggered) {
final long now = SystemClock.uptimeMillis();
if (now <= mScreenshotChordVolumeDownKeyTime + SCREENSHOT_CHORD_DEBOUNCE_DELAY_MILLIS
&& now <= mScreenshotChordPowerKeyTime
+ SCREENSHOT_CHORD_DEBOUNCE_DELAY_MILLIS) {
mScreenshotChordVolumeDownKeyConsumed = true;
cancelPendingPowerKeyAction();
Slog.d(TAG, "===== interceptScreenshotChord, mScreenshotRunnable");
mScreenshotRunnable.setScreenshotType(TAKE_SCREENSHOT_FULLSCREEN);
mHandler.postDelayed(mScreenshotRunnable, getScreenshotChordLongPressDelay());
}
}
}
其中,
mScreenshotRunnable.setScreenshotType(TAKE_SCREENSHOT_FULLSCREEN);
mHandler.postDelayed(mScreenshotRunnable, getScreenshotChordLongPressDelay());
调用系统截屏
如果要实现延时截屏,可以增加延时时间
mHandler.postDelayed(mScreenshotRunnable, 5*1000);//延时5s
另外,可以在PhoneWindowManager.java中注册广播接收来触发调用截屏操作
处理操作很简单清晰,关键的地方就是寻找到准确合适的操作位置
- 延时截屏的使用
- DelayQueue延时队列的使用
- 关于延时操作的使用
- DelayQueue延时队列的使用
- RocketMQ延时消息的使用和延时级别的配置
- RocketMQ延时消息的使用和延时级别的配置
- RocketMQ延时消息的使用和延时级别的配置
- 延时函数和NSTimer的使用
- 延时函数和Timer的使用
- 延时函数和NSTimer的使用
- 使用select()达到输入延时的效果
- Linux下timer延时的使用
- iPhone开发:延时实例化的使用
- 延时函数和Timer的使用
- 延时模块的使用-system generator
- 安卓开发 延时的使用
- linux延时工作任务create_singlethread_workqueue函数的使用
- setTimeout 延时定时器的使用小案例
- Android studio 关联源代码
- ZigZag Conversion
- 玲珑杯”ACM比赛 Round #5 --2的幂次方
- Linux下实现定时器Timer的几种方法
- oracle12c与之前版本的区别(仅供参考)
- 延时截屏的使用
- 快速跳选View,与列表视图搭配使用
- 初出茅庐的程序员,需要学习什么
- windows核心编程-用户权限
- 【设计模式】概览
- 仿美图城市选择
- eclipse如何添加视图
- SpringMVC中处理json数据
- margin外边距