Android onActivityResult方法中存在错误
我仍然有同样的问题 Java代码:Android onActivityResult方法中存在错误,android,sqlite,android-camera,Android,Sqlite,Android Camera,我仍然有同样的问题 Java代码: public void takePic() { String fileName = "temp.jpg"; ContentValues values = new ContentValues(); values.put(MediaStore.Images.Media.TITLE, fileName); mCapturedImageURI = getContentResolver().insert(MediaStore.
public void takePic() {
String fileName = "temp.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(cameraIntent, Camera_requestCode);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Camera_requestCode && resultCode == RESULT_OK) {
String[] projection = { MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);
insertPath(capturedImageFilePath);
Bitmap image = (Bitmap) data.getExtras().get("data");
}
};
日志:
03-01 13:36:55.390: E/AndroidRuntime(20416): FATAL EXCEPTION: main
03-01 13:36:55.390: E/AndroidRuntime(20416): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.android.SaveCameraPictureDemo/com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity}: java.lang.NullPointerException
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread.deliverResults(ActivityThread.java:2536)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2578)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread.access$2000(ActivityThread.java:117)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:965)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.os.Handler.dispatchMessage(Handler.java:99)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.os.Looper.loop(Looper.java:123)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread.main(ActivityThread.java:3691)
03-01 13:36:55.390: E/AndroidRuntime(20416): at java.lang.reflect.Method.invokeNative(Native Method)
03-01 13:36:55.390: E/AndroidRuntime(20416): at java.lang.reflect.Method.invoke(Method.java:507)
03-01 13:36:55.390: E/AndroidRuntime(20416): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
03-01 13:36:55.390: E/AndroidRuntime(20416): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
03-01 13:36:55.390: E/AndroidRuntime(20416): at dalvik.system.NativeStart.main(Native Method)
03-01 13:36:55.390: E/AndroidRuntime(20416): Caused by: java.lang.NullPointerException
03-01 13:36:55.390: E/AndroidRuntime(20416): at com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity.onActivityResult(SaveCameraPictureDemoActivity.java:73)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
03-01 13:36:55.390: E/AndroidRuntime(20416): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
03-01 13:36:55.390: E/AndroidRuntime(20416): ... 11 more
你永远不会从其他活动中获得位图。那是你的问题
为什么不直接传递图像的路径,让第二个活动决定如何处理该路径(在这种情况下,解码并显示图像)。U将永远无法从其他活动获取位图。那是你的问题
为什么不直接传递图像的路径,让第二个活动决定如何处理该路径(在这种情况下,解码并显示图像)。下面的行是错误的,您无法像这样获得捕获图像的路径
String imgPath = data.getData().toString();
insertPath(imgPath);
下面的行是错误的,您无法获得像这样的捕获图像的路径
String imgPath = data.getData().toString();
insertPath(imgPath);
你也可以发布logcat输出吗?我发布了,但我不知道如何格式化它。你也可以发布logcat输出吗?我发布了,但我不知道如何格式化它。那又怎么样?你必须将该图像保存在sd卡中?你能给我一个例子吗?请检查更多细节。什么?你必须将该图像保存在sd卡中?你能给我一个例子吗请查看更多详细信息