public class MainActivity extends AppCompatActivity {
String path;
private ImageView imageView;
private static final String TAG = "MainActivity";
private static final int IMAGE = 1;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
path = getPath() + "/image.png";
imageView = findViewById(R.id.main_image);
button = findViewById(R.id.main_but);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, 2);
}
});
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uri = Uri.fromFile(new File(path));
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, IMAGE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 2 && resultCode == Activity.RESULT_OK && data != null) {
Uri selectedImage = data.getData();
String[] filePathColumns={MediaStore.Images.Media.DATA};
Cursor c = getContentResolver().query(selectedImage, filePathColumns, null, null, null);
c.moveToFirst();
int columnIndex = c.getColumnIndex(filePathColumns[0]);
String imagePath = c.getString(columnIndex);
showImage(imagePath);
c.close();
}
if (requestCode == IMAGE && resultCode == Activity.RESULT_OK) {
showImage(path);
}
}
private void showImage(String path) {
Bitmap bitmap = BitmapFactory.decodeFile(path);
((ImageView) findViewById(R.id.main_image)).setImageBitmap(bitmap);
}
public String getPath() {
File file = new File(Environment.getExternalStorageDirectory().getPath() + "/myh");
if (!file.exists() || !file.isDirectory()) {
file.mkdirs();
}
return file.getPath();
}
}
调用相机相册
最新推荐文章于 2022-07-07 09:23:39 发布