为了账号安全,请及时绑定邮箱和手机立即绑定

Android摄像头基础

eclipse_xu 移动开发工程师
难度高级
时长 1小时23分
学习人数
综合评分9.70
67人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.5 逻辑清晰
  • 接三 3)为了解决“onActivityResult里面获取回来的是图片实际上是缩略图”的问题,设置拍照文件存储路径,然后从自己存储的路径来取得照片。注意:Uri是android.net而不是Java.net mFilePath = Environment.getExternalStorageDirectory().getPath();//获取系统SD卡路径 mFilePath = mFilePath + "/"+"temp.png"; //mFilePath为SD卡路径+我们自定义的文件名 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Uri uri = Uri.fromFile(new File(pathFile)); //将Uri指向创建的文件对象 intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); //更改拍照文件存储路径 startActivityForResult(intent, CAREMA_REQUEST_CODE_2); 在onActivityResult中添加 if (requestCode == CAMERA_REQUEST_CODE){ *** }else if(requestCode == CAMERA_REQUEST_CODE_2){ //从自己存储的路径来取得照片 FileInputStream files = new FileInputStream(mFilePath); Bitmap bitmap = BitmapFactory.decodeStream(files); //通过BitmapFactory.decodeStream方法将文件输入流解析成Bitmap mImageView.setImageBitmap(bitmap); } 注意: 1)关闭流对象 files.close(); 2)文件操作基本都需要捕获异常 3)增加SD卡读写权限
    查看全部
  • 三、调用系统相机,获取拍摄图片显示在imageView中 1)使用startActivityForResult() 2)覆写onActivityResult函数,处理返回来的数据 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK){ if (requestCode == CAMERA_REQUEST_CODE){ Bundle bundle = data.getExtras();//取出相机返回的所有信息,即图片的二进制流 Bitmap bitmap = (Bitmap) bundle.get("data"); //转换成bitmap mImageView.setImageBitmap(bitmap); } } } 注意:onActivityResult里面获取回来的是图片实际上是缩略图
    查看全部
  • 二、接着一 public void startCamera(View view){ if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){ //申请权限 ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CAMERA},CAMERA_REQUEST_CODE); } } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == CAMERA_REQUEST_CODE){ if (grantResults[0] == PackageManager.PERMISSION_GRANTED){ //权限通过 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(intent); }else { Toast.makeText(this, "Permission issue", Toast.LENGTH_SHORT).show(); } } } Manifest文件中加入: <uses-permission android:name="android.permission.CAMERA"/>
    查看全部
  • 一、调用系统相机 使用隐式Intent来启动系统camera Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivity(intent); 使自己的应用也可以接收启用相机功能 在本应用的activity中添加如下intent-filter <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> 这样自己的应用就具有了系统相机同样的功能。和系统应用一样都可以收到启动相机功能的intent 注意:使用新的app想调用相机功能时,android 6.0版本不仅需要在代码中做运行时权限处理,而且在Manifest文件中同样需要加入权限申请,
    查看全部
  • 通过本课可以学到: 1.Android系统相机的调用(Intent) 2.自定义Android相机 3.学习自定义控件的使用 在App中使用Camera的两种方式: 1)调用系统相机、或者是具有相机功能的应用 2)自定义相机
    查看全部
  • 相机
    查看全部
  • 阿萨德
    查看全部
  • Camera在App中使用的两种方式i
    查看全部
  • 调用相机,展示照片
    查看全部
  • 原图
    查看全部
  • 启动相机
    查看全部
  • 应用具有系统相机功能
    查看全部
  • 应用具有系统相机同样功能
    查看全部
  • Camera 调用系统相机 1使用系统Intent ACTION_IMAGE-CAPTURE
    查看全部
    0 采集 收起 来源:知识点回顾

    2016-09-02

  • 查看全部

举报

0/150
提交
取消
课程须知
本门课程为Android中级课程,需要小伙伴们有一定的Android基础知识,当中涉及Intent,SurfaveView等内容。
老师告诉你能学到什么?
1.Android系统相机的调用(Intent) 2.自定义Android相机 3.学习自定义控件的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!