结合代码展示如何从Android移动设备中调取相册中图片并获取
下面的代码同上一篇文章关于Android项目相机使用(一)--------相机调用_Hersiman的博客-CSDN博客
//AndroidManifest.xml文件内容
<uses-permission android:name="android.permission.CAMERA" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- 注册相机功能,在别的程序Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);进行启动相机时也会选择是否启动该应用 -->
<intent-filter>
<action android:name="android.media.action.IMAGE_CAPTURE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
这里仍然是对需要使用的功能首先在注册,详情见上文链接
activity中的代码,这里仅展示自定义相册显示图片的代码
//以下为onCreate方法下内容
//REQUEST_GPS为自定义int型静态常量;private final int REQUEST_GPS = 1;
//申请动态权限,这里的权限申请绑定在了全局控件
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,
Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS}
, REQUEST_GPS);
// 以下为自定义方法
//调用系统相册显示图片
private void openAlbum_2(){
Intent intent = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, REQUEST_ALBUM_2);
}
//回调方法处理(Turi为静态变量用于存储获取到的数据uri),cropPic方法是裁剪方法后序介绍
else if(requestCode == REQUEST_ALBUM_2){
Turi = data.getData(); //获得路径
cropPic(Turi); //直接进行裁剪处理
}
这里的逻辑与上文
关于Android项目相机使用(一)--------相机调用_Hersiman的博客-CSDN博客
相同,在此不多赘述