Android PictureCallback添加接口回调,出现空指针异常

 package com.frank.kindergarten.camera;

import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.annotation.SuppressLint;
import android.content.Context;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.os.Environment;
import android.widget.Toast;

public class PhotoHandler implements PictureCallback {

    private final Context context;
    private String filename;

    public PhotoHandler(Context context) {
        this.context = context;
    }

    @SuppressLint("SimpleDateFormat")
    @Override
    public void onPictureTaken(byte[] data, Camera camera) {

        File pictureFileDir = getDir();

        if (!pictureFileDir.exists() && !pictureFileDir.mkdirs()) {

            Toast.makeText(context, "无法创建目录来保存图像。", Toast.LENGTH_LONG).show();
            return;
        }

        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss");
        String date = dateFormat.format(new Date());

        String photoFile = "Picture_" + date + ".jpg";

        filename = pictureFileDir.getPath() + File.separator + photoFile;

        File pictureFile = new File(filename);
        System.out.println("filename is " + filename);

        try {
            FileOutputStream fos = new FileOutputStream(pictureFile);
            fos.write(data);
            fos.close();

            Toast.makeText(context, "图片保存路径:" + photoFile, Toast.LENGTH_LONG)
                    .show();

            mPath.getPicturePath(filename);

        } catch (Exception error) {
            Toast.makeText(context, "图片不能保存--------------------",
                    Toast.LENGTH_LONG).show();
        }
    }

    savePath mPath;

    public interface savePath {
        void getPicturePath(String str);
    }

    public void setPath(savePath mPath) {
        this.mPath = mPath;
    }

    private File getDir() {
        File sdDir = Environment.getExternalStoragePublicDirectory("LBS_Test");
        return new File(sdDir, "Picture_lbs");
    }

}

图片说明
提示空指针

http://www.2cto.com/kf/201407/321581.html

mPath 没有初始化,而且你定义一个空的接口方法,不知道是要干嘛。。。。

mPath你没有实例化。