Android Intent定义选择器打开相机和相册

版权声明:本文为博主原创文章,可以转载,但请注明出处~ https://blog.csdn.net/lwq573384928/article/details/79979300

Android Intent选择打开相机和相册

我的博客对应文章地址

需求

上传图片,点击按钮弹出选择相机拍照或者相册选择照片

解决方案

Intent.ACTION_CHOOSER

 打开相机

Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);

打开相册

Intent albumIntent = new Intent(Intent.ACTION_PICK, null);
albumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");

使用Intent.ACTION_CHOOSER将相机和相册合在一起

//创建ChooserIntent
Intent intent = new Intent(Intent.ACTION_CHOOSER);
//创建相机Intent
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
captureIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
//将相机Intent以数组形式放入Intent.EXTRA_INITIAL_INTENTS
intent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent{captureIntent});
//创建相册Intent
Intent albumIntent = new Intent(Intent.ACTION_PICK, null);
albumIntent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");
//将相册Intent放入Intent.EXTRA_INTENT
intent.putExtra(Intent.EXTRA_INTENT, albumIntent);       

Have Fun:)

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页