引言: 在做用户的头像时,忽然想到前段时间(可能是很久以前了),支付宝传出偷偷拍摄用户的生活照,真实头像,被喷的很厉害。然而作为Android开发者的我第一反应竟然是握草,他是怎么实现的。在我印象中,iOS对权限的控制是很严格的,偷偷调起摄像头这种行为应该是很困难的。然而Android4.2之前可以说开发者几乎拥有了系统权限,能力之强简直可怕。而现在Android已经到了7.0,虽然大多说用户还是在4.4到6.0的。我想我也来做一个静默拍摄的app。 正文: 所谓静默拍摄就是在用户毫无感知的情况下拍摄。 一般的拍照都会有预览区域,拍照声。去掉这些东西才算是真正意义上的静默拍摄。 首 在Android平台上,静默拍摄指的是在用户不知情的情况下进行拍照,即无预览、无声响的拍摄过程。这种功能在一些特殊应用场景下可能有用,但同时也涉及到用户隐私问题。在Android 4.2之前的版本,开发者拥有较高的系统权限,实现静默拍摄相对容易。然而,随着Android系统的更新和权限管理的加强,特别是考虑到用户隐私保护,静默拍摄变得更为复杂。 在尝试制作静默拍摄应用时,通常会遇到以下几个关键点: 1. **隐藏预览区域**:正常情况下,拍照应用会有预览窗口,可以通过设置SurfaceView的Visibility为GONE或者将其尺寸设为0来尝试隐藏,但这可能会导致错误或无法正常工作。 2. **消除拍照声音**:默认情况下,Android设备在拍照时会有快门声音,这是为了防止侵犯隐私。试图在应用程序级别静音手机可能无法完全去除这个声音,因为快门声音是在框架层(framework layer)强制播放的。 3. **绕过框架限制**:由于系统级别的保护,第三方开发者无法直接修改框架层的方法。因此,一种可行的策略是利用预览期间获取的图像流。在用户按下快门之前,实际上已经通过相机获取了图像数据。可以将这些数据转换为Bitmap,然后保存到本地,这样就可以在不触发快门声音的情况下完成拍摄。 4. **处理图像数据**:将图像流转化为Bitmap并保存时,需要考虑图像编码(例如JPEG或PNG)、旋转(因设备方向不同可能需要调整图像角度)以及本地存储路径等问题。这些问题可以通过Android的MediaStore类和其他图像处理库来解决。 5. **权限管理**:在Android系统中,访问摄像头需要请求用户授予相应的权限(如`Manifest.permission.CAMERA`)。从Android 6.0(API级别23)开始,部分权限需要在运行时动态请求。 6. **代码实现**:在示例代码中,可以看到一个简单的Android应用结构,包括Camera对象、SurfaceView预览界面、Button用于触发拍照,以及AudioManager用于尝试静音。`SurfaceView`的`SurfaceHolder`回调用于处理预览,而`onClick`事件则用于启动拍照过程。 尽管Android系统对静默拍摄进行了限制,但通过巧妙利用预览图像流和处理图像数据,开发者仍然可以实现类似的功能。然而,这种做法需要谨慎,因为它触及了用户隐私的敏感地带,可能违反应用商店的政策,甚至在某些国家和地区是非法的。因此,在开发此类应用时,必须确保遵守当地法律法规和尊重用户隐私。
2024-09-06 11:52:09 87KB android开发 app app制作
1
android studio开发app项目
2024-06-17 19:53:51 11.3MB android android studio
1
爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
2024-03-23 16:19:45 118KB python 爬虫 数据收集
1
APP Inventor
2023-07-13 11:07:33 18.59MB 安卓开发
1
UI网页设计公司Bootstrap模板 适合从事UI设计、UX设计、软件开发、APP开发等互联网设计公司网站模板 UI网页设计公司Bootstrap模板是一款适合从事UI设计、UX设计、软件开发、APP开发等互联网设计公司网站模板下载。
2023-01-03 13:19:40 15.23MB Bootstrap 网页设计
1
OC MAC平台 IOS开发APP 自主学习
2022-10-14 19:07:41 195KB objective-c ios
1
几乎涵盖了所有apicloud开发APP的知识点。用到了比较深层次的界面技术。仿微信和QQ的聊天界面,包括输入法和表情包,选择图片,发送图片的,模拟两个人的对话。适合学习apicloud的开发模式。
2022-08-31 08:55:50 2.82MB 微信截图 apicloud 截图 QQ截图 
1
几万条【英文菜谱】,数据量非常大,建议进行分割再打开。用于给女朋友开发app时候采集下来的菜谱数据!!!
2022-08-19 09:48:50 90.5MB 菜谱 excel
1
博客内容仿头条APP项目实现的源码,app载入界面相关功能,主界面按钮切换页面,标签ViewPager页面切换,列表页面设计实现,微头条页面设计实现 ,视频列表页面实现。
2022-06-11 23:00:27 96.06MB 安卓移动开发 app 课程设计
1
Android应用源码开发Demo,主要用于毕业设计学习。
2022-05-08 18:41:16 15.08MB Android 毕业设计 移动开发App 源码