Android 从相机捕获图像并在Imageview中显示

Android 从相机捕获图像并在Imageview中显示,android,Android,我想在imageview中显示我拍摄的图像,但它不显示图像。我检查了这些页面,但没有结果: 我的活动: public class MainActivity extends AppCompatActivity { Button btncam; ImageView imgpic; final int take=10; long name; @Override protected void onCreate(Bundle savedInstanc

我想在imageview中显示我拍摄的图像,但它不显示图像。我检查了这些页面,但没有结果:

我的活动:

public class MainActivity extends AppCompatActivity {
    Button btncam;
    ImageView imgpic;
     final int take=10;
     long name;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imgpic=(ImageView)findViewById(R.id.imgpic);
        btncam=(Button)findViewById(R.id.btncamera);
        btncam.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
                name=System.currentTimeMillis();
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(G.appadress+"/"+name+".jpg")));
                startActivityForResult(intent,take);
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
           switch (requestCode){
        case take:
            Bitmap bitmap= BitmapFactory.decodeFile(G.appadress+"/"+name+".jpg");
            imgpic.setImageBitmap(bitmap);

    }
    }
}
G类:

public class G extends Application {
  public static   Context context;
    public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath();
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
        File file=new File(appadress);
        file.mkdirs();
    }
}
public class G extends Application {
  public static   Context context;
    public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath()+"/reza";
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
        File file=new File(appadress);
        file.mkdirs();
    }
}
舱单:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

试试:

}

我更喜欢库,自动处理导入或捕获图像

private void onCaptureClick(){
    CropImage.activity()
        .setGuidelines(CropImageView.Guidelines.ON)
        .start(this);
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            Uri resultUri = result.getUri();
        } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
            Exception error = result.getError();
        }
    }
}
G类:

public class G extends Application {
  public static   Context context;
    public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath();
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
        File file=new File(appadress);
        file.mkdirs();
    }
}
public class G extends Application {
  public static   Context context;
    public static String appadress= Environment.getExternalStorageDirectory().getAbsolutePath()+"/reza";
    @Override
    public void onCreate() {
        super.onCreate();
        context=getApplicationContext();
        File file=new File(appadress);
        file.mkdirs();
    }
}

请解释你尝试的第二个链接发生了什么。我想保存照片,然后在我指定的地址显示它。图像已保存但未显示。跟随它将有助于您此操作可能会引发
NullPointerException
,因为他们在相机
Intent
上放置了一个
额外的输出
,并且在传递该位图时不会返回缩略图。此代码有效,但我倾向于将照片存储在所需位置,而不是手机的默认位置。此代码有效,但将照片保存在手机的默认位置,而不是/PathPhoto文件夹中。我想将照片保存到最喜爱的位置。使用您的路径更改“Environment.DIRECTORY_PICTURES+”/PathPhoto“”。Environment.DIRECTORY_PICTURES->是图片的路径。如果文件夹不存在,我的代码将在提供的路径中创建该文件夹。