android8以上使用手机录屏丶截屏,在service中开启并创建通知
下面是手机截屏的 跟录屏差不多但是存储是用的image
以上是我自己写的一个demo,这里有几点需要注意的是:
1.开启应用的时候需要权限(读写丶录像录音)
2.在26(8.0以后)不能直接在activity中进行操作了,需要开前台服务并创建通知来实现,在activity中做了极少的录屏初始化的编写,只调用了一个开启回调的方法(mediapro),在onactivityresult中开启服务startforegroundservice,并把你所需的内容传过去
3.在mainfest中注册服务,有几点需要注意,第一需要加上requestlegacy..=true(否则你的存储会报错,导致后面直接挂壁)第二添加FOREGROUND_SERVICE权限(存储,录音这些也有)第三注册service需要添加forgoundservicetype=mediaprojetion属性
4.在已经注册的service中的第一件事初始化一个通知栏,具体设置可以参考网上很多,然后初始化record
丶mediapro丶virtualdisplay就能愉快的开启录屏了
在录屏结束记得释放资源,取消的方法也已经加上了
问题点:
1.在小米手机上正常,在华为三星手机上这套代码必蹦,加了延迟创建也不行,最终把录屏的尺寸size写死了720*1080就好了,没有用获取到屏幕的分辨率
在最后一张图中display width写死了
2.权限这一块比较麻烦也很重要不然容易导致应用崩溃
3.在1里面会出现录屏黑边的情况,直接把分辨率写成720*1600 就可以解决这个问题(根据华为运动健康来实现的)
4.在截屏里面可以获取到手机的分辨率来处理图片
20220929
在上继截屏保存里面没有保存安卓长图的
如果要实现可以用这个代码,遇到一个问题在高德地图的mapview用这个方法时显示出来的是一个黑屏,所以我采用了拼接的方式把分为上下2部分,上面还是系统的截屏然后保存到本地,下面采用上图的方法来保存,最后再拼接在一起就可以实现
这里有一个问题,就是采用系统截屏的时候会有黑边出现
getWindowManager().getDefaultDisplay().getMetrics(metrics);//原来的
替换成以下实际的分辨率就不会出现黑边了
getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
图片拼接有很多方法
下面是需要注意的几点,系统截屏的时候需要设置image的高度(由你自己决定,我这里是直接通过view.getHeight()得到再传到service里面的。virtuldisplay还是需要用到屏幕的宽高,不然会异常显示)
最后用bitmap保存下来就可以了
android8以上使用手机录屏丶截屏,在service中开启并创建通知相关推荐
- 国产华为android手机怎么截图,华为手机有6种截屏方法,你都知道几种?
华为手机有6种截屏方法,你都知道几种? 2019-01-12 10:45:17 0点赞 5收藏 0评论 如今手机成为了我们的伴侣,无论何时何地,手机不离身成为了我们的习惯,大家对手机也是了如指掌.华为 ...
- 分享华为手机的6种截屏方法,你都知道几种?
转载自品略图书馆 http://www.pinlue.com/article/2020/06/1012/5810708294738.html 如今手机成为了我们的伴侣,无论何时何地,手机不离身成为了我 ...
- 华为抓截屏_华为手机有6种截屏方法,你都知道几种?
如今手机成为了我们的伴侣,无论何时何地,手机不离身成为了我们的习惯,大家对手机也是了如指掌.华为手机成为了国产手机的老大哥,受到了很多花粉们的青睐,使用华为手机时,我们会发现手机上有很多种截屏方法,我 ...
- android 手机如何截图,原来安卓手机有这么多种截屏方式 最后两种一般人不会用...
原标题:原来安卓手机有这么多种截屏方式 最后两种一般人不会用 在这个信息化的时代,智能手机几乎主宰着天下,人人手中一部智能机 .看新闻,听歌曲,打游戏.我们的日常几乎全部由手机霸占着.但截屏作为初级的 ...
- 禁止APP录屏和截屏
Android安全:禁止APP录屏和截屏 一.前言: Android有些APP会为了安全,禁止录屏和截屏,例如:金融.银行相关的.禁止录屏和截屏并不难,只需要在 Activity 的onCreate( ...
- Android安全:禁止APP录屏和截屏
Android有些APP会为了安全,禁止录屏和截屏,例如:金融.银行相关的.禁止录屏和截屏并不难,只需要在 Activity 的onCreate() 方法中添加一行代码即可: getWindow(). ...
- FSCapture(录屏,截屏软件)
FSCapture(录屏,截屏软件) FSCapture是一款功能强大且十分实用的抓屏软件,该款软件集成了图像捕捉.图像浏览以及图像编辑等功能为一体,帮助用户对截取的图形进行处理操作,该款软件的操作十 ...
- Android实现录屏和截屏功能
Android实现录屏和截屏功能 1. MediaProjectionManager介绍 2.所需权限 3.示例代码 1. MediaProjectionManager介绍 用于获取screen ca ...
- 华为手机的7种截屏方式
华为手机作为国产手机的招牌之一,深受很多用户的喜爱,使用手机的过程中也难免少不了截图,而华为手机中却有多种方法,方便你在各种情况下截图,你用过几种呢? 1.传统截屏方式 说到我们最传统的一种截图方式相 ...
最新文章
- 推动健全云生态 阿里云锐不可当
- 使用Arcgis进行画面(线)并计算大小(长度)。
- Flink万字干货:4大发展方向,美团、快手应用实践(PDF下载)
- [Flink] Flink运行报错The number of requested virtual cores for application master
- 集成学习—随机森林原理(理解与论文研读)
- 新建一个html页 必须要有的标签 (meta)
- Excel按某一列排序
- 成人高考自考资讯网源码 织梦dedecms模板
- CAN分析仪创芯科技使用(Ubuntu)
- php分组统计求和,数据需求统计常用shell命令---AWK分组求和,分组统计次数
- mac os 录屏快捷键_录屏软件怎么录制电脑游戏?录制游戏视频须知
- 关于主机的思维导图_「停课不停学」思维导图—初中数学全部知识点总结,高清可打印...
- 多模态理论张德禄_专家观点||张德禄:系统功能理论视阈下的多模态话语分析综合框架...
- 黑苹果睡眠重启后死机_iPhone 所有机型“死机/卡机”重启方法
- 浅析计算机用户身份识别技术,浅谈网络安全之身份认证技术
- 转载双显示器显示模式介绍
- 【综述】(MIT博士)林达华老师-概率模型与计算机视觉”
- oracle 提取中文字符串拼音首字母函数,拼音简码提取函数
- 一个IT前辈的JIRA使用心得
- node-gdal ogr2ogr 配置