android-camera activity报错空指针异常

问题描述

camera activity报错空指针异常

camera intent:

fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

这部分报空指针异常的错误,谁能解释一下为什么,还有需要改什么地方?

button_1.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");

        fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // 创建一个文件来保存图像
        intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); //设置图像的文件名 

        startActivityForResult(intent, TAKE_PICTURE);
    }
});

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            //  获取图像,保存在 Intent中fileUri里
            Toast.makeText(this, "Image saved to:n" +
                     data.getData(), Toast.LENGTH_LONG).show();
        } else if (resultCode == RESULT_CANCELED) {
            // 用户取消图像获取
        } else {
            // 图像获取失败
        }
    }
}

解决方案

//创建拍照 Intent并将控制权返回给调用的程序
  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
  //创建保存图片的文件
  intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);

你把Intent这样初始化一下看看

解决方案二:

应该是fileUri的问题
你试着这样改下

fileUri=Uri.fromFile(new File(Environment .getExternalStorageDirectory(), "temp.jpg"))

解决方案三:

试一下这个方法:

public class Camera extends Activity
      {
     private static final int CAMERA_REQUEST = 1888;
     private String selectedImagePath;
     WebView webview;
     String fileName = "capturedImage.jpg";
     private static Uri mCapturedImageURI; 

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        Intent cameraIntent = new Intent(ACTION_IMAGE_CAPTURE);
        startActivityForResult(cameraIntent, CAMERA_REQUEST);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (resultCode == RESULT_OK) {
            if (requestCode == CAMERA_REQUEST)
            {
                Bitmap photo = (Bitmap) data.getExtras().get("data");
                ByteArrayOutputStream bytes = new ByteArrayOutputStream();
                photo.compress(Bitmap.CompressFormat.JPEG, 40, bytes);
                Random randomGenerator = new Random();randomGenerator.nextInt();
                String newimagename=randomGenerator.toString()+".jpg";
                File f = new File(Environment.getExternalStorageDirectory()
                                        + File.separator + newimagename);
                try {
                    f.createNewFile();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                try {
                    fo = new FileOutputStream(f.getAbsoluteFile());
                } catch (FileNotFoundException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                try {
                    fo.write(bytes.toByteArray());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                    uri=f.getAbsolutePath();
        //你保存图像的url
          }
时间: 2024-10-03 10:19:19

android-camera activity报错空指针异常的相关文章

android-Android调用webservice报错空指针异常

问题描述 Android调用webservice报错空指针异常 #test2(String name) 输入一个String类型 返回hello+name的Demo

android:MapActivity报错:Nullpointerexception

问题描述 android:MapActivity报错:Nullpointerexception 当我第一次加载我的app时,mapActivity是可以调用的,而且我能看到地图.现在当我关掉networkconnectivity再打开,改变屏幕,回到mapactivity,地图显示为空,在new MapUtils().drawMap(this); in onResume()方法这一行得到空指针异常. @Override protected void onResume() { Utils util

Android程序新建报错,求解答

问题描述 Android程序新建报错,求解答 最近在学习Android编程,按照教程新建了一个Android工程,发现完成后报出许多错误,但教程上新建完成后就可以运行,由于是新手,不懂到底是哪里出问题了,还请大牛指教,谢谢!!! 解决方案 将ActionBarAcitivity改为Acitivity, 并且将那个support.v7包删了 解决方案二: 看不清楚!这样的问题,我一般是这么干的:一:rebuild project 看是否能行!二:检查build gradle里的资源是否引入!三:完

android 编译 l mtk-mtk 6580 Android L1 编译报错

问题描述 mtk 6580 Android L1 编译报错 最近公司要用MTK 6580 5.1进行开发,编译代码的时候出现以下编译错误 target Symbolic: libdl (out/target/product/generic/symbols/system/lib/libdl.so) target Prebuilt: tzdata (out/target/product/generic/obj/ETC/tzdata_intermediates/tzdata) make: *** 没有

图片-android studio support_v7报错

问题描述 android studio support_v7报错 解决方案 不用在意 这个错不影响app

android 摄像头-android uvc摄像头报错

问题描述 android uvc摄像头报错 [ 539.727583]-(0)[2932:kworker/0:4]uvcvideo: Non-zero status (-71) in video completion handler. [ 539.727820]-(0)[2932:kworker/0:4]uvcvideo: ==================== urb status= -71 =============== [ 539.727832]-(0)[2932:kworker/0:4

【android】shape报错 未定义 在线等

问题描述 [android]shape报错 未定义 在线等 解决方案 这代码 有错吗,是不是你引用方式错误了 解决方案二: 报什么错误啊!!吧错误贴出来....

android导入工程报错,fix project setup怎么解决

问题描述 android导入工程报错,fix project setup怎么解决 在导入项目后,出现很多地方cannot be resolved to a type,然后提示解决方法fix project setup 什么意思 解决方案 这个错误经常出现的. 有可能是工程中的jar包冲突了,找到冲突的jar包,用其中一个替换一下另一个: 也有可能是工程中用到了其他的框架,但是你没有导入,把框架的工程导入: 还有可能是jdk的版本不一样. 反正都试试吧,Android开发这类问题老是出现,万一都不

android getSystemService(DEVICE_POLICY_SERVICE)报错

问题描述 android getSystemService(DEVICE_POLICY_SERVICE)报错 我需要调用系统锁屏,用的是发送广播请求系统隐藏服务,其中写policyManager = (DevicePolicyManager)getActivity().getSystemService(DEVICE_POLICY_SERVICE);的时候竟然报错了,不知道为什么?或者说还有什么请求系统锁屏的方法可以提供一下? 解决方案 http://blog.sina.com.cn/s/blog