照相机拍照NullPointerException 问题
来源:互联网 发布:ip地址端口查询 编辑:程序博客网 时间:2024/05/01 08:18
ACTION_IMAGE_CAPTURE 照相时遇到了NullPointerException问题。
因机器不同,在获得图片的方式上有所不同。
EXTRA_OUTPUT不能将拍下的图片保存到临时文件中,显示时就会出现NullPointerException问题。
根据data直接获得图片的URI地址,可以显出图片。
File tempFile;String TEMP = "temp.jpg";private File getTempFile() { File dir = new File(Util.getTempImageDirectory()); if (!dir.exists()) { if (!dir.mkdirs()) { return null; } } tempFile = new File(Util.getTempImageDirectory(), TEMP); try { tempFile.createNewFile(); } catch (IOException e) { return null; } return tempFile; }protected void getImagesFromCamera(){ Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); uri = Uri.fromFile(tempFile); intent.putExtra(MediaStore.EXTRA_OUTPUT,uri); intent.putExtra("return-data", true); startActivityForResult(intent, GET_CODE_ORIGINAL_IMAGE_BY_CAMERA); }//获得图片protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_CANCELED) { } else { BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 2; Bitmap myBitmaptemp = BitmapFactory.decodeFile(tempFile.getAbsolutePath(),options); if(myBitmaptemp == null){ Uri imageUri = data.getData(); ContentResolver cr = getContentResolver(); InputStream imgIS = cr.openInputStream(imageUri); myBitmaptemp=BitmapFactory.decodeStream(imgIS); } myBitmaptemp = zoomBitmap(myBitmaptemp,(int)imgWidth,(int)imgHeight); ................. } } //修改图片尺寸 public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){ int width = bitmap.getWidth(); int height = bitmap.getHeight(); Matrix matrix = new Matrix(); float scaleWidht = ((float)w / width); float scaleHeight = ((float)h / height); if(scaleWidht < scaleHeight ){ matrix.postScale(scaleWidht, scaleWidht); }else{ matrix.postScale(scaleHeight, scaleHeight); } Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width , height , matrix,true); return newbmp; }
- 照相机拍照NullPointerException 问题
- 照相机拍照
- 照相机拍照
- 解决不同类型手机系统照相机拍照无法确定返回问题
- 照相机预览、拍照以及适配问题的完美解决
- 监听照相机拍照功能
- 自定义照相机拍照界面
- Android调用照相机拍照
- Android照相机拍照Camera
- Android实现照相机拍照
- Android调用系统照相机拍照
- 调用其他照相机应用拍照
- android调用系统照相机拍照
- WM6下实现照相机自动拍照
- 调用系统照相机实现拍照功能
- Android--调用系统照相机拍照与摄像
- Android 调动系统照相机拍照和录像
- Android 调用手机系统照相机拍照
- linux 终端中向其他用户发送消息
- Windows has triggered a breakpoint
- 生成验证码
- Jquery UI dialog 详解 (中文)
- 页面右上角效果
- 照相机拍照NullPointerException 问题
- CWnd与HWND的区别与转换
- 数据库备份原理
- php扩展含义
- 自定义CheckBox
- C++类中成员变量的初始化总结
- [News]俄科学家抛惊人理论 黑洞里可能存生命
- leftnoteasy:决策树模型组合之随机森林与GBDT
- Spring flex 搭建服务 之 编程环境配置和我的第一个程序(第二章,第二节)