我刚开始学习这方面的问题。
------解决方案--------------------
/**
* 拍照界面
* 接收文件重写:public void actResultCamera(File file) {}
*/
public void showCameraChooser() throws Exception {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(fileUtil.getRoot() + "/temp.jpg")));
startActivityForResult(intent, ACT_RESULT_CAMERA);
}
public void actResultCamera(File file) {}
------解决方案--------------------
我理解的你的问题是这样的:调用照相机就是调用系统或者自己安装的照相机,照相之后得到所拍摄的图片进行后续的操作。
事件触发,通过意图来调用相机:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(这里是照相之后保存的路径,将来要取照片从这里取。具体的方式就不说了,采用流));
startActivityForResult(intent, 1); //这个意图执行后,会让你选择用那个照相机拍摄(如果你装了其他的相机类app,这个是系统自己实现的,不需要人为的干涉)
需要注意的是,要赋予用户权限。在AndroidManifest.xml中写入
<uses-permission android:name="android.permission.CAMERA"/>//调用照相机的权限
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>//读写卡的权限
附:得到sd卡目录:
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))//已经插入了sd卡,没插入的情况你自己会写
{File file = Environment.getExternalStorageDirectory();}//这个就是sd卡的根目录了,剩下的自己完成
------解决方案--------------------
http://my.eoe.cn/761385/archive/4226.html