对于我来说,做一件事情:

首先要理清我的思路,我要打开照相机,我能想到的是:在Android中我要打开系统应用,肯定需要一个隐式意图,那就要查询Android照相机的源码,查看并找到意图过滤器的书写方式。然后开启照相机的Activity就可以实现照相的功能了。

打开照相机

在需要这个功能的类中,我们可以自定义一个方法openCamera();在这个方法里面就可以实现打开照相机的功能。

	/**
* 打开系统照相机
*/
public void openCamera(){
//创建打开系统照相机的意图
Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//因为我们需要获得照相机拍的照片,所以必须要调用这个方法来开启Activity
//请求码我们可以设置一个本类的静态的常量,我在这里就用100来表示了
startActivityForResult(openCameraIntent, 100);
}

获取返回来的照片

既然我们刚才已经调用了有返回数据开启Activity的方法,那么我就应该实现Activity中的onActivityResult方法,在这个方法里面进行获取照相机返回来的照片。


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//判断请求码是否是请求打开相机的那个请求码
if (requestCode == 100) {
//获取照片数据
Bitmap cameraPhoto = data.getParcelableExtra("data");
//设置图片到指定的imageView控件上
imageView.setImageBitmap(cameraPhoto);
}
}

最后一定不能忘了配置打开照相机的权限:

<uses-permission android:name="android.permission.CAMERA"/>




这就是我的总结。欢迎大家拍砖。


最新文章

  1. SQL面试笔试经典题(Part 1)
  2. 【引】runtime全解析,P1:Programming Guide
  3. Region的周长, 面积与紧凑程度
  4. Beeline known issues
  5. IR的评价指标—MAP,NDCG,MRR
  6. 3.3.2 嵌入汇编(摘自&lt;linux内核完全剖析&gt;)
  7. ASP.NET AJAX简明教程
  8. 【Netty】第一个Netty应用
  9. Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
  10. Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)
  11. Django扩展自定义manage命令
  12. unity描边效果
  13. [Swift]LeetCode224. 基本计算器 | Basic Calculator
  14. flask教程
  15. winform中TextBox只能输入字母
  16. elasticsearch简单操作(二)
  17. Android Framework源码反编译
  18. jsp/servlet学习四之jsp初窥
  19. &lt;记录&gt; axios 模拟表单提交数据
  20. [转载]持续交付和DevOps的前世今生

热门文章

  1. C++函数不写bool返回值,居然编译运行全部通过,但判断结果就不对了
  2. Delphi用Socket API实现路由追踪
  3. C++开源库,欢迎补充
  4. Voovan 是一个高性能异步网络框架和 HTTP(Java)
  5. 多进程demo
  6. kali 开启键盘背光灯 &amp;&amp; 自定义开启终端
  7. ABP开发框架前后端开发系列---(13)高级查询功能及界面的处理
  8. WPF基于3D对象捕获鼠标点击事件
  9. linux 多主机间快速跳转脚本
  10. 仿写一个简陋的 IOC/AOP 框架 mini-spring