- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
你需要知道的Android拍照适配方案
你需要知道的Android拍照适配方案
前言
近段时间,家里陪自己度过大学四年的电脑坏了,挑选好的新电脑配件终于 本周全部到货,自己动手完成组装。从
A MD到i7的C PU,6G 内存到14G 内存,打开 A ndroid Studio 的速度终于杠杆地上去了,感动到泪流满面
啊!!!!!!!扯了这么多,回归一下正题,还是来说说本篇文章要写什么吧!说起调用系统相机来拍照的功能,大
家肯定不陌生,现 所有应用都具备这个功能。例如最基本的,用户拍照上传头像。Android开发的孩纸都知道,碎片化
给拍照这个功能的实现带来挺多头疼的问题。所以,我决定写写一些网上不多见但又经常听到童鞋们吐槽的问题。
拍照功能实现
A ndroid 程序上实现拍照功能的方式分为两种:第一种是利用相机的 A P I 来自定义相机,第二种是利用 Intent 调用系统指
定的相机拍照。下面讲的内容都是针对第二种实现方式的适配。
通常情况下,我们调用拍照的业务场景是如下面这样的:
1. A 界面,点击按钮调用相机拍照;
2. A 界面得到拍完照片,跳转到 B 界面进行预览;
3. B 界面有个按钮,点击后触发某个业务流程来处理这张照片;
实现的大体流程代码如下:
//1. 调用相机
File mPhotoFile = new File (folder,filename);
Intent captureIntent = new Intent(MediaStore.A TION_IMAGE_ APTURE);
Uri fileUri = Uri.fromFile (mPhotoFile);
captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
mActivity.startActivityForResult(captureIntent, APTURE_PHOTO_REQUEST_ ODE);
//2. 拿到照片@Overrideprotectedvoid onActivityResult(int request ode, int result ode, Intent data) {
if (request ode == apturePhotoHelper. APTURE_PHOTO_REQUEST_ ODE result ode == RESULT_OK) {
File photoFile = m apturePhotoHelper.getPhoto();//获取拍完的照片if (photoFile != null) {
PhotoPreviewActivity.preview (this, photoFile);//跳转到预览界面
}
finish ();
} else {
super.onActivityResult(request ode, result ode, data);
}
}
//3. 各种各样处理这张图片的业务代码
到这里基本科普完了如何调用系统相机拍照,相信这些网上一搜一大把的代码,很多童鞋都能看懂。
有没有相机可用?
前面讲到我们是调用系统指定的相机App来拍照,那么系统是否存 可以被我们调用的App呢?这个我们不敢确定,毕竟
A ndroid 奇葩问题多,还真有遇到过这种极端的情况导致闪退的。虽然很极端,但作为客户端人员还是要进行处理,方式
有二:
1. 调用相机时,简单粗暴的 try-catc ;
2. 调用相机前,检测系统有没有相机 App 可用;
try-catc 这种粗暴的方式大家肯定很熟悉了,那么要如何检测系统有没有相机 A pp 可用呢?系统 PackageManager 里
为我们提供这样一个 A PI。
通过这样一个 A P I ,可以知道系统是否存 action 为 MediaStore.A CTION_ IMA GE_CA PTURE 的 intent 可以唤起的拍照
界面,具体实现代码如下:
/**
* 判断系统中是否存 可以启动的相机应用
*
* @return 存 返回true,不存 返回false
*/publicboole
您可能关注的文档
- on the high school art appreciation teaching(在高中美术欣赏教学).doc
- on the high school change in the way of language teaching(在高中的语言教学方式的变化).doc
- on the harmonious society the library service innovation network exploring(在和谐社会图书馆服务创新网络探索).doc
- on the high school chemistry teaching ethics and moral education and technology(在高中化学教学伦理和道德教育和科技).doc
- on the high school english students to explore their own learning strategies(高中英语学生探索自己的学习策略).doc
- on the high school english exam question techniques(在高中英语考试技巧的问题).doc
- on the high school english students with learning difficulties discuss the causes and countermeasures(在高中英语学习困难的学生讨论的原因和对策).doc
- on the high school counseling survey analysis of the teaching profession of faith(高中咨询调查分析教学工作的信心).doc
- on the high school english words memory method(在高中英语单词记忆方法).doc
- on the high school english writing ability(高中英语写作能力).doc
文档评论(0)