Android 使用相机拍照后未显示图片

Android 使用相机拍照后未显示图片,android,android-fragments,Android,Android Fragments,我正在尝试单击片段中的照片并将其显示在我的应用程序中。单击照片后,imageView未设置,我看不到照片显示。有人知道为什么吗 另外,您是否认为有更好的方法来编写代码,以便在片段中拍照 public class ImageFragment extends Fragment{ private Uri imageUri; private String mPath; private ImageView image; Bitmap bitmap = null; private File tempPh

我正在尝试单击片段中的照片并将其显示在我的应用程序中。单击照片后,imageView未设置,我看不到照片显示。有人知道为什么吗

另外,您是否认为有更好的方法来编写代码,以便在片段中拍照

public class ImageFragment extends Fragment{


private Uri imageUri;
private String mPath;
private ImageView image;
Bitmap bitmap = null;
private File tempPhoto;
 @Override 
 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 
   { 
     View v = inflater.inflate(R.layout.fragment_image, container, false);
     ImageButton snap=((ImageButton)v.findViewById(R.id.snap));
     image = ((ImageView) v.findViewById(R.id.image));
     snap.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {

                Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                File imagePath;

                try
                {
                    tempPhoto = createTemporaryFile("picture", ".png");
                    tempPhoto.delete();
                }

                catch(Exception e)
                {

                    return ;
                }

                imageUri = Uri.fromFile(tempPhoto);
                cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
                startActivityForResult(cameraIntent, 1);

            }
        });

     return v;
  }

 private File createTemporaryFile(String part, String ext) throws Exception
    {
        File tempDir= Environment.getExternalStorageDirectory();
        tempDir=new File(tempDir.getAbsolutePath()+"/.temp/");
        if(!tempDir.exists())
        {
            tempDir.mkdir();
        }
        return File.createTempFile(part, ext, tempDir);
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
       // super.onActivityResult(requestCode, resultCode, data);
        ContentResolver cr = getActivity().getContentResolver();
        try {
            cr.notifyChange(imageUri, null);
            File imageFile = new File(tempPhoto.getAbsolutePath());


        } catch (Exception e) {
            e.printStackTrace();
        }

            Bitmap photo=null;
            if (resultCode == 1) {
                try {
                    photo = android.provider.MediaStore.Images.Media.getBitmap(cr, Uri.fromFile(tempPhoto));
                    image.setImageBitmap(photo);
                } catch (FileNotFoundException e) {

                    e.printStackTrace();
                } catch (Exception e) {

                    e.printStackTrace();
                }
            }

    }

    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    }

    @Override
    public void onLowMemory() {
        // TODO Auto-generated method stub
        super.onLowMemory();
    }

}

您可以在onActivityResult函数中将'resultCode'与Activity.RESULT\u OK(=-1)进行比较

替换:
if(resultCode==1)
by:
if(resultCode==Activity.RESULT\u OK)