Android摄像头活动未启动
这是我简单的android摄像头应用程序代码的一部分Android摄像头活动未启动,android,android-intent,android-camera,android-camera-intent,Android,Android Intent,Android Camera,Android Camera Intent,这是我简单的android摄像头应用程序代码的一部分 public class CameraView extends Activity implements Callback, OnClickListener { static final int FOTO_MODE = 0; private static final String TAG = "CameraTest"; Camera mCamera; boolean mPreviewRunning = false; private Cont
public class CameraView extends Activity implements Callback, OnClickListener {
static final int FOTO_MODE = 0;
private static final String TAG = "CameraTest";
Camera mCamera;
boolean mPreviewRunning = false;
private Context mContext = this;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Log.e(TAG, "onCreate");
Bundle extras = getIntent().getExtras();
getWindow().setFormat(PixelFormat.TRANSLUCENT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera);
mSurfaceView.setOnClickListener(this);
mSurfaceHolder = mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] imageData, Camera c) {
if (imageData != null) {
Intent mIntent = new Intent();
StoreByteImage(mContext, imageData, 50,
"ImageName");
mCamera.startPreview();
setResult(FOTO_MODE, mIntent);
finish();
}
}
};
public void onClick(View arg0) {
mCamera.takePicture(null, mPictureCallback, mPictureCallback);
}
但是当我运行程序时,它在下面的一行中给出空指针异常
mSurfaceView.setOnClickListener(this);
我不明白这个问题。你们能澄清一下吗?NullPointerException意味着mSurfaceView是空的
在添加OnClickListener之前,请尝试添加以下代码:
正在返回null。null指针异常是因为您尝试访问的指针为null
你能粘贴你的布局文件吗?在main.xml中是否有ID为surface\u camera的曲面视图?
if (null == mSurfaceView)
Log.e(TAG, "mSurfaceView is NULL!");
else
Log.e(TAG, 'mSurfaceView IS OKAY!");
mSurfaceView = (SurfaceView) findViewById(R.id.surface_camera);