Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio:BitmapFactory.decode文件出错_Android - Fatal编程技术网

Android Studio:BitmapFactory.decode文件出错

Android Studio:BitmapFactory.decode文件出错,android,Android,我有一个用相机拍摄图像的活动。在快照之后,它将调用以下onActivityResult。尝试解码文档时出错(标有“error HERE”的行)。原因是什么?谢谢 Java //if you capture image, convert to bitmap, show on screen and call readTextFromImage @Override protected void onActivityResult(int requestCode, int resultCo

我有一个用相机拍摄图像的活动。在快照之后,它将调用以下
onActivityResult
。尝试解码文档时出错(标有“error HERE”的行)。原因是什么?谢谢

Java

//if you capture image, convert to bitmap, show on screen and call readTextFromImage
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            if (requestCode == REQUEST_PICTURE_CAPTURE) {
                Bitmap bitmap = BitmapFactory.decodeFile(pictureFile.getAbsolutePath()); // <--- ERROR HERE
                bitmap = Helper.rotateBitmap(bitmap, pictureFile.getAbsolutePath());
                image.setImageBitmap(bitmap);
            } else if (requestCode == REQUEST_GET_SINGLE_FILE) {
                Bitmap bitmap = null;
                try {
                    bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
                } catch (Exception e) {
                    Log.d("Error Receipt: ", e.toString());
                }
                if (bitmap != null) {
                    image.setImageBitmap(bitmap);
                }
            }
            //readTextFromImage();
        }
    }

由于尚未实例化pictureFile,因此默认情况下它为null。 试一试

String pictureFile=data.getStringExtra(“…”,“defaultPath”)

然后可以使用BitmapFactory.decodeFile。。。 如果之前声明了pictureFile路径,请检查文件提供程序。 当做 聪吉

04-27 18:25:19.276 16179-16179/com.example.ves.gennaio3 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.ves.gennaio3, PID: 16179
    java.lang.RuntimeException: Unable to resume activity {com.example.ves.gennaio3/com.example.ves.gennaio3.ReceiptActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=null} to activity {com.example.ves.gennaio3/com.example.ves.gennaio3.ReceiptActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getAbsolutePath()' on a null object reference
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3121)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3152)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2495)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5443)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
     Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=null} to activity {com.example.ves.gennaio3/com.example.ves.gennaio3.ReceiptActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getAbsolutePath()' on a null object reference
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3720)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3107)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3152) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2495) 
        at android.app.ActivityThread.-wrap11(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5443) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.io.File.getAbsolutePath()' on a null object reference
        at com.example.ves.gennaio3.ReceiptActivity.onActivityResult(ReceiptActivity.java:184)
        at android.app.Activity.dispatchActivityResult(Activity.java:6442)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3716)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3107) 
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3152) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2495) 
        at android.app.ActivityThread.-wrap11(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5443) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)