Java API 25图像捕获

Java API 25图像捕获,java,android,image,api,gallery,Java,Android,Image,Api,Gallery,我在API级别23上构建我的应用程序,然后我将API级别更改为25。相同的代码现在不起作用,以下是我的代码: public class expert extends Activity implements View.OnClickListener { Button btnsetwall; ImageButton imgbtntakeph; ImageView Imview; static final

我在API级别23上构建我的应用程序,然后我将API级别更改为25。相同的代码现在不起作用,以下是我的代码:

public class expert extends Activity implements View.OnClickListener {
            Button btnsetwall;
            ImageButton imgbtntakeph;
            ImageView Imview;
            static final int REQUEST_IMAGE_CAPTURE = 1;

            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_expert);
                Imview = (ImageView) findViewById(R.id.imageView22);
                btnsetwall = (Button) findViewById(R.id.button2);
                btnsetwall.setOnClickListener(this);
            }

            @Override
            public void onClick(View v) {
                        dispatchTakePictureIntent();
            }

            private void dispatchTakePictureIntent() {
                Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
                    startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
                }
            }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
            Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");

            Imview.setImageBitmap(imageBitmap);

            // CALL THIS METHOD TO GET THE URI FROM THE BITMAP
            Uri tempUri = getImageUri(getApplicationContext(), imageBitmap);

            // CALL THIS METHOD TO GET THE ACTUAL PATH
            Toast.makeText(getBaseContext(),"Here "+ getRealPathFromURI(tempUri),                 Toast.LENGTH_LONG).show();
        }
    }

    public Uri getImageUri(Context inContext, Bitmap inImage) {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        inImage.compress(Bitmap.CompressFormat.JPEG, 100, bytes);
        String path = MediaStore.Images.Media.insertImage(inContext.getContentResolver(), inImage, "Title", null);
        return Uri.parse(path);
    }

    public String getRealPathFromURI(Uri uri) {
        Cursor cursor = getContentResolver().query(uri, null, null, null, null);
        cursor.moveToFirst();
        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
        return cursor.getString(idx);
    }
当我试图从图库中选取图像或获取捕获的图像时,我的应用程序崩溃,并且出现URI字符串异常 有人能说出原因吗??以及如何解决!
提前感谢

请发布您的stacktrace@airowejava.lang.RuntimeException:向活动{com.example.lenovo.paintme/com.example.lenovo.paintme.expert}传递结果ResultInfo{who=null,request=1,result=-1,data=Intent{act=inline data(has extra)}失败:java.lang.NullPointerException:uri