ошибка в методе onActivityResult - PullRequest
1 голос
/ 01 марта 2012

У меня все та же проблема ..

Java-код:

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");
    }
};

LogCat:

    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

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Ниже неправильные строки, вы не можете получить путь к захваченному изображению, как это.

String imgPath = data.getData().toString();
        insertPath(imgPath);
0 голосов
/ 01 марта 2012

U никогда не получит растровое изображение от других действий.Вот почему вы не можете просто пройти путь изображения и позволить второму упражнению решить, что делать с этим путем (в этом случае декодировать и отобразить изображение).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...