【Android 相机】枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述Android 相机相关的知识,希望能为你提供帮助。
case TAKE_PICTURE:
Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri imageUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),"image.jpg"));
//指定照片保存路径(SD卡),image.jpg为一个临时文件,每次拍照后这个图片都会被替换
openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
startActivityForResult(openCameraIntent, TAKE_PICTURE)
Bitmap bitmap = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+"/image.jpg");
if(bitmap!=null) {
Bitmap newBitmap = ImageTools.zoomBitmap(bitmap, bitmap.getWidth() / SCALE, bitmap.getHeight() / SCALE);
//由于Bitmap内存占用较大,这里需要回收内存,否则会报out of memory异常
bitmap.recycle();
//将处理过的图片显示在界面上,并保存到本地
iv_image.setImageBitmap(newBitmap);
ImageTools.savePhotoToSDCard(newBitmap, Environment.getExternalStorageDirectory().getAbsolutePath(), String.valueOf(System.currentTimeMillis()));
}
break;
一开始第一句话说我 permission denied,所以bitmap是null;
解决:targetSdk=22 时,按以往权限管理处理,修改targetsdk https://jingyan.baidu.com/article/f71d6037af54131ab741d16d.html
//Bundle extras =data.getExtras();
//if(extras!=null) {
//Bitmap bitmap = extras.getParcelable("data");
//iv_image.setImageBitmap(bitmap);
这种写法图片压缩严重。
推荐阅读
- Android核心服务解析篇——Android系统的启动
- Determine overlapping rectangles
- 2017四月TOP100电商类App排行榜出炉
- tomcat加载war包报错:/wls/systems/bbc-kit/apps/bbc-kit.war!/com/bbc-kit/entities/DocFile.class not found且路
- 新版App Store有哪些变化呢
- app hybrid
- Android计算器APP练习--- 界面
- Android 自定义View-字母索引表
- android studio2.2 配置NDK