目前我正在尝试做一个小应用程序,我需要在其中拍照并在 ImageView 中使用这张照片来显示它。
我使用意图功能来做到这一点。我可以把照片存储在卡上,但我无法在我想要的图像视图中显示它。
我总是得到一个空点异常
这是我使用的代码
private void takePhoto() {
Log.d("ANDRO_CAMERA", "Starting camera on the phone...");
String fileName = "testphoto.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
values.put(MediaStore.Images.Media.DESCRIPTION,
"Image capture by camera");
values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
outputFileUri = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, PHOTO_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == PHOTO_REQUEST_CODE) {
if (resultCode == RESULT_OK){
Log.d("ANDRO_CAMERA","Picture taken!!!");
Bitmap yourSelectedImage = BitmapFactory.decodeFile(outputFileUri.toString());
int h = 48; // height in pixels
int w = 48; // width in pixels
Bitmap scaled = Bitmap.createScaledBitmap(yourSelectedImage, h, w, true);
imageView.setImageBitmap(scaled);
}
}
}
这是我的错误代码
06-11 01:10:52.812: W/dalvikvm(6469): threadid=1: thread exiting with uncaught exception (group=0x40c8a300)
06-11 01:10:52.832: E/AndroidRuntime(6469): FATAL EXCEPTION: main
06-11 01:10:52.832: E/AndroidRuntime(6469): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=null} to activity {com.uni.schnitzeljagd/com.uni.schnitzeljagd.NewQuestion}: java.lang.NullPointerException
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread.deliverResults(ActivityThread.java:3141)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3184)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread.access$1100(ActivityThread.java:130)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1243)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.os.Handler.dispatchMessage(Handler.java:99)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.os.Looper.loop(Looper.java:137)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread.main(ActivityThread.java:4745)
06-11 01:10:52.832: E/AndroidRuntime(6469): at java.lang.reflect.Method.invokeNative(Native Method)
06-11 01:10:52.832: E/AndroidRuntime(6469): at java.lang.reflect.Method.invoke(Method.java:511)
06-11 01:10:52.832: E/AndroidRuntime(6469): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-11 01:10:52.832: E/AndroidRuntime(6469): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-11 01:10:52.832: E/AndroidRuntime(6469): at dalvik.system.NativeStart.main(Native Method)
06-11 01:10:52.832: E/AndroidRuntime(6469): Caused by: java.lang.NullPointerException
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:461)
06-11 01:10:52.832: E/AndroidRuntime(6469): at com.uni.schnitzeljagd.NewQuestion.onActivityResult(NewQuestion.java:94)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.Activity.dispatchActivityResult(Activity.java:5192)
06-11 01:10:52.832: E/AndroidRuntime(6469): at android.app.ActivityThread.deliverResults(ActivityThread.java:3137)
06-11 01:10:52.832: E/AndroidRuntime(6469): ... 11 more
如果有人可以帮助我,那就太好了
最好的祝愿