在我的应用程序中,我试图让用户可以按下一个按钮,这将允许他们使用手机上的相机应用程序拍照。
我正在按照 Android 开发人员指南 (http://developer.android.com/guide/topics/media/camera.html#intent-收到)
我在使用 onActivityResult() 方法时遇到问题,它显然需要 3 个参数
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if(resultCode == RESULT_OK) {
Log.w("borre","Image saved to:\n" + data.getData());
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
}
但目前,数据 Intent 以 null 形式返回,因此在 Intent 参数上调用任何方法都会引发 NullPointerException
这是我用来调用相机应用程序的代码(它与指南中的代码基本相同)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
有没有人遇到过这个问题或知道为什么这个 Intent 会返回为空?