Android -- 调用体系相册之图片裁剪生存

[复制链接]
发表于 2026-1-2 22:45:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
媒介

近来线上反馈,部门vivo手机更换头像时调用体系相册生存图片失败,经本人测试,确实有题目。
经修复后,贴出这块的代码供小同伴们参考使用。
功能

更换头像选择图片:

      
  • 调用体系相机照相,调用体系图片裁剪并生存。  
  • 调用体系相册选择照片,调用体系图片裁剪并生存。
此功能须要动态申请 相机和读写外部存储的权限,此处省略了,请自办法态申请添加。
  1. String[] permissions=new String[]{
  2.    
  3.    Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE};
复制代码
1、结构文件activity_picture.xml:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:layout_
  4.     android:layout_
  5.     android:orientation="vertical">
  6.     <Button
  7.         android:id="@+id/takePictureFromCamera"
  8.         android:layout_
  9.         android:layout_
  10.         android:text="拍照" />
  11.     <Button
  12.         android:id="@+id/takePictureFromLib"
  13.         android:layout_
  14.         android:layout_
  15.         android:text="从相册选取" />
  16.     <ImageView
  17.         android:id="@+id/img"
  18.         android:layout_
  19.         android:layout_
  20.         android:layout_marginTop="10dp"/>
  21. </LinearLayout>
复制代码
2、PictureActivity:
  1. public class PictureActivity extends AppCompatActivity {
  2.    
  3.    
  4.     public class Const {
  5.    
  6.    
  7.         public static final int PHOTO_GRAPH = 1;// 拍照
  8.         public static final int PHOTO_ZOOM = 2; // 相册
  9.         public static final int PHOTO_RESOULT = 3;// 结果
  10.         public static final String IMAGE_UNSPECIFIED = "image/*";
  11.     }
  12.     public String authority;
  13.     private ImageView imageView;
  14.     @Override
  15.     protected void onCreate(@Nullable Bundle savedInstanceState) {
  16.    
  17.    
  18.         super.onCreate(savedInstanceState);
  19.         setContentView(R.layout.activity_picture);
  20.         authority = getApplicationContext().getPackageName() + ".fileprovider";
  21.         imageView = findViewById(R.id.img);
  22.         
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表