华为android系统手机图片,关于华为手机获取图片并且加载的问题

1权限 和 动态申请

2 app 属性添加

然后在 你的application 中加入 这个属性 :

android:requestLegacyExternalStorage="true"

3 mxl 设置

android:name="androidx.core.content.FileProvider"

android:authorities="com.base.baselib.fileprovider"

android:exported="false"

android:grantUriPermissions="true">

android:name="android.support.FILE_PROVIDER_PATHS"

android:resource="@xml/file_paths" />

在res 中添加 xml包和 file_paths.xml文件

name="external_files"

path="." />

4 代码配置

在你的 Application继承类中添加

private void initFileXml() {

StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();

StrictMode.setVmPolicy(builder.build());

builder.detectFileUriExposure();

}

5 代码实现

/**

* 打开相机

*/

private void openPhotograph() {

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

// 创建文件工具类 设置相机图片路径(用时间戳)

mImagePath = FileUtils.getImageFilePath();

//检查文件是否存在

FileUtils.checkOrCreateDirectory(mImagePath);

intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mImagePath)));

mActivity.startActivityForResult(intent, Photograph_code);

}

/**

* 打开相册

*/

private void openAlbum() {

//打开系统的相册

if (mMaxSize == 0) {

Intent intent = new Intent(Intent.ACTION_PICK, null);

intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*");

mActivity.startActivityForResult(intent, Album_code);

return;

}

//打开自定义的相册

AlbumActivity.gotoActivity(mActivity, AlbumList_code, mMaxSize);

}

public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

if (mAlbumListener == null) return;

if (resultCode != RESULT_OK) return;

List list = new ArrayList<>();

if (requestCode == AlbumList_code && data != null) {

//多选图片

list = (List) data.getSerializableExtra(ImageList);

}

if (requestCode == Album_code && data != null) {

//单选图片 获图片的绝对地址

mImagePath = FileUtils.getImageAbsolutePath(mActivity, data.getData());

list.add(mImagePath);

}

if (requestCode == Photograph_code) {

//拍照图片

list.add(mImagePath);

}

mAlbumListener.onListener(list);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值