Android Q SDK 也会将图片保存在DCIM文件夹中,以适应较旧版本。
创始人
2024-08-15 02:30:06
0

在Android Q中,您可以使用以下代码将图片保存在DCIM文件夹中:

// 获取DCIM文件夹路径
File dcimDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);

// 创建一个新的文件
File newImageFile = new File(dcimDirectory, "my_image.jpg");

// 假设您已经有一个位图对象,将其保存到文件中
Bitmap bitmap = ...;
try {
    FileOutputStream outputStream = new FileOutputStream(newImageFile);
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
    outputStream.flush();
    outputStream.close();
    // 通知媒体库更新
    MediaScannerConnection.scanFile(context, new String[]{newImageFile.getAbsolutePath()}, null, null);
} catch (IOException e) {
    e.printStackTrace();
}

上述代码将创建一个新的名为"my_image.jpg"的文件,并将位图对象压缩为JPEG格式,然后将其保存到DCIM文件夹中。最后,使用MediaScannerConnection类的scanFile()方法通知媒体库更新,以便新的图片可以在相册应用中显示出来。

请注意,为了使用这段代码,您需要在AndroidManifest.xml文件中添加以下权限:


另外,从Android Q开始,您需要在运行时请求存储权限才能访问外部存储器。您可以使用以下代码请求权限:

if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE);
}

确保在请求权限之后,处理onRequestPermissionsResult()回调方法以处理用户对权限请求的响应。

相关内容

热门资讯

四分钟方法!微信上的边锋斗地主... 四分钟方法!微信上的边锋斗地主有挂吗,德扑之星带入记分牌(详细透视辅助插件教程);微信上的边锋斗地主...
十分钟透明!棋乐碰胡有外 挂吗... 十分钟透明!棋乐碰胡有外 挂吗,扑克世界app辅助(详细透视辅助app教程);人气非常高,ai更新快...
5分钟总结!闲娱麻将有挂吗,w... WePoke高级策略深度解析‌;5分钟总结!闲娱麻将有挂吗,wepooke app系统规律(详细透视...
5分钟方法!皮皮跑胡子有猫腻吗... 5分钟方法!皮皮跑胡子有猫腻吗,aapoker辅助是真的(详细透视辅助挂教程)准备好在皮皮跑胡子有猫...
6分钟黑科技!jj斗地主谁建房... 6分钟黑科技!jj斗地主谁建房谁输,wepoke软件透明下载渠道(详细透视辅助挂教程)是一款可以让一...
一分钟介绍!手机老友麻将有挂吗... 一分钟介绍!手机老友麻将有挂吗,红龙扑克模拟器(详细透视辅助工具教程)准备好在手机老友麻将有挂吗ia...
十分钟了解!边锋斗地主底牌怎么... 十分钟了解!边锋斗地主底牌怎么看得见,微扑克软件开发定制app(详细透视辅助神器教程);边锋斗地主底...
4分钟规律!七游乐互娱辅助,a... 4分钟规律!七游乐互娱辅助,aapoker辅助工具下载(详细透视辅助插件教程);七游乐互娱辅助是一款...
9分钟黑科技!吉安中至麻将怎么... 9分钟黑科技!吉安中至麻将怎么提高胜率,aa扑克有挂(详细透视辅助挂教程);一、吉安中至麻将怎么提高...
4分钟介绍!星悦陕西麻将辅牌器... 4分钟介绍!星悦陕西麻将辅牌器,德州wpk辅助(详细透视辅助挂教程)1、这是跨平台的星悦陕西麻将辅牌...