Android——调用系统摄像头拍照的问题

在进行一个照片存储的项目时,遇到一个问题,跳转到拍照界面后点击完成死活回不到之前的Activity,原因是下面的第二条语句

Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(new File(filename)));

当我去掉第二条语句时,相机能正常拍照和返回,我检查了权限:读写外部存储。但是忘了一个

注意:还要加上相机的使用权限
注意:还要加上相机的使用权限
注意:还要加上相机的使用权限

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

再有,自定义路径时(比如不放在外部存储的根目录下,而是放在根目录custom文件夹下)首先要判断该文件夹存在,不存在要新建,否则也返回不了(至少我在魅族上测试有问题)。
这里在没找到这个问题时,采用startActivityForResult()方法,在方法内部取得照片的数据

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      }

利用intent.getExtras()取得Bundle();

Bundle b=data.getExtras();
Bitmap bitMap=(Bitmap) b.get("data");//b.get()返回的是Object类型,而传进BundleObject必须可序列化

你可能感兴趣的:(java,android)