将 ImageView 中的图像保存到设备图库

2023-11-24

我正在尝试将图像从 ImageView 保存到设备库。 我试过这段代码

代码编辑:

    URL url = new URL(getIntent().getStringExtra("imageURL"));
    File f  = new File(url.getPath());

    addImageToGallery(f.getPath(), this);

    public static void addImageToGallery(final String filePath, final Context context) 
    {

       ContentValues values = new ContentValues();

       values.put(MediaStore.Images.Media.DATE_TAKEN, System.currentTimeMillis());
       values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
       values.put(MediaStore.MediaColumns.DATA, filePath);

       context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    }

但它需要一个我没有的文件路径,因为我是从 URL 加载文件的。 如何将 ImageView 中的图像保存到图库?

thanks..


Simple:

使用此代码:

//to get the image from the ImageView (say iv)
BitmapDrawable draw = (BitmapDrawable) iv.getDrawable();
Bitmap bitmap = draw.getBitmap();

FileOutputStream outStream = null;
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File(sdCard.getAbsolutePath() + "/YourFolderName");
dir.mkdirs();
String fileName = String.format("%d.jpg", System.currentTimeMillis());
File outFile = new File(dir, fileName);
outStream = new FileOutputStream(outFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();

此外,为了刷新图库并查看其中的图像:

    Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    intent.setData(Uri.fromFile(file));
    sendBroadcast(intent);

另请确保您的应用程序已启用存储权限:

转到设备设置>设备>应用程序>应用程序管理器>“您的应用程序”>权限>启用存储权限!

清单权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 ImageView 中的图像保存到设备图库 的相关文章

  • Android 4.4.2 - java.lang.RuntimeException:执行未恢复的活动停止

    我在 4 4 2 设备上遇到此异常 在 Android 4 3 或更低版本的设备上无法重现 设置是我有一个家庭活动 支持的子类ActionBarActivity 家庭活动检查布尔标志 如果为真 则启动启动画面活动 是的 理想情况下启动画面出
  • Android Studio 3.0.0 不允许 DOCTYPE

    升级到Android Studio 3 0 0 同步并更新gradle插件 出现以下错误 Error DOCTYPE not allowed if function http apache org xml features disallow
  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • 强制用户在 Android 中的 EditText 中输入内容

    我的活动中有几个编辑文本 我希望我的用户在提交表单之前正确输入 我该怎么做 我还有旋转器和 RadioGroup 按钮 你可以加验证在提交按钮上单击 private boolean validateFields int yourDesire
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • 安卓无法玩ogg

    有人知道这是什么意思吗 ogg使用phonegap is Media播放 它使用MediaPlayer 05 26 15 41 50 007 1160 3631 E AudioFlinger no more track names avai
  • 在 Anko DSL 中创建自定义 View/ViewGroup 类

    我想创建一个自定义视图 它只是一些 Android 视图的包装 我考虑创建一个自定义 ViewGroup 来管理其子视图的布局 但我不需要这么复杂 我基本上想做的是 class MainActivity verticalLayout tex
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • 如何从一个代码库创建多个 Android 应用

    我有一个 Android 代码库 它使用带有设置的 API 来获取多个应用程序的不同数据 所有应用程序都使用相同的代码库 但进行一两个设计调整 那么如何重用主代码库而不必每次都复制整个 Android 项目呢 iPhone 在同一个项目中使
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • 以编程方式将 TextView 添加到主屏幕小部件

    我想以编程方式将文本视图控件添加到我的主屏幕小部件 在下面的示例中 我使用 TextView 填充 Linearlayout 但是这里应该如何使用 RemoteView 它只接受 xml 资源布局作为参数 public class MyWi
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • Android Studio - 值必须 ≥ 0

    我在 Android Studio 中收到与光标有关的错误 我的代码中有以下行 String data cursor getString cursor getColumnIndex columnIndex columnIndex 被传递到该
  • java.lang.IllegalArgumentException:找不到片段的 id 0x1020002 (android:id/content) 的视图

    我正在尝试从一个片段移动到另一个片段 它在片段事务期间显示以下错误 java lang IllegalArgumentException No view found for id 0x1020002 android id content f
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Android Studio IDE 上的“文本/设计”选项卡缺少新的 Android 项目

    如何在创建新项目期间自动创建的 Activity main xml 文件的 src main res layout 文件夹中启用文本 设计选项卡 如果我右键单击并在所述文件夹上创建 xml 文件 则设计 文本选项卡存在 有什么建议吗 谢谢
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示

随机推荐

  • Azure Powershell:获取服务的公共虚拟IP

    是否可以使用 powershell 获取 azure 服务的公共虚拟 IP VIP 一种方法是使用 Get AzureEndpoint 命令 Get AzureVM Name thevmname ServiceName theservice
  • 面向对象的c++ win32?

    我想创建自己的类来处理创建窗口和窗口过程 但我注意到窗口过程必须是静态的 我现在想知道是否可以使窗口过程面向对象 我读过一些关于面向对象窗口的教程 但它们总是使过程静态 那有什么用 任何有关如何解决此问题的链接或信息将不胜感激 thanks
  • 如何在数据库中存储图像的位置?

    我有一个颜色列表 其中包含我想要向特定用户显示的纹理 因此我需要加载特定用户拥有的颜色的图像 颜色的信息包含在 ObjecDTO 中 其中一个属性是其图像小路 我的问题是我应该如何在数据库中存储图像路径 是否有任何特殊规则 例如 由于数据库
  • Spring Batch“默认”上下文变量是什么?

    In the 春季批次步进范围文档 存在三个无法解释的 spring batch 上下文映射 jobParameters jobExecutionContext and stepExecutionContext Springsource示例
  • MVC 自定义路由中的多个级别

    我正在尝试构建自己的小cms 我创建了一个抽象 pageBase 类 由 Static Reviews Articles News 继承 每个都有自己的控制器方法 我的问题是我需要允许管理员定义他自己的自定义路径级别 例如 news loc
  • 从字符串中提取格式不一致的日期(日期解析,NLP)

    我有一个很大的文件列表 其中一些文件名中嵌入了日期 日期的格式不一致且通常不完整 例如 Aug06 Aug2006 August 2006 08 06 01 08 06 2006 011004 等 除此之外 某些文件名具有不相关的数字 看起
  • 多线程和多进程的性能差异

    几年前 在Windows环境下 我做了一些测试 让CPU计算密集型 内存访问密集型 I O访问密集型应用程序的多个实例运行 我开发了2个版本 一个是在多处理下运行 另一个是在多线程下运行 我发现多处理的性能要好得多 我在其他地方读过 但我不
  • window.history.back() 不起作用。

    我无法让它发挥作用 我已经尝试了很多年了 请帮我
  • 带有 AVAudioConverterInputBlock 的 AVAudioConverter 在处理后会出现音频断断续续的情况

    我正在尝试将音频缓冲区转换为不同的格式 并且我正在使用 AVAudioConverter 当您具有相同的采样率并且不需要使用 AVAudioConverterInputBlock 时 AVAudioConverter 会完成这项工作 但如果
  • 查找 CSS 未应用的规则

    我有一个很大的 CSS 样式表 大约 6500 行 有什么方法可以确定哪些规则不适用于给定页面 firefox 插件 Web 实用程序或其他东西 Thanks PD 使用 Firebug 我可以找到哪些规则适用 但我无法找到哪些规则不适用
  • 有人可以在休眠状态下向我解释一下@MapsId吗?

    有人可以向我解释一下吗 MapsId冬眠时 我很难理解它 如果能用一个例子来解释它 以及它最适用于哪种用例 那就太好了 这是一个很好的解释对象数据库 指定为 EmbeddedId 主键 EmbeddedId 主键内的属性或父实体的简单主键提
  • 在for循环中使用@ref来获取元素引用

    我试图在不同的地方获取同一对象的位置 其中 使用 javascript 函数 我应该得到不同的顶部位置 但这不是场景 脚本代码 Index razor代码 inject IJSRuntime jsRuntime div for int i
  • 列出目录中具有特定扩展名的所有文件

    假设我想列出所有php目录中的文件 包括子目录 我可以在 bash 中运行 ls l find name php type f 这样做的问题是 如果没有php文件 执行的命令是ls l 列出所有文件和目录 而不是没有 这是一个问题 因为我试
  • iPhone/桌面应用程序的相同代码库

    我有一个 iPhone iPad 应用程序 我想将其移植到 MacOSX 我的大多数目标 C 类只要不包含 UIKit 内容就应该可以正常工作 显然 界面会有所不同 在 Xcode 中执行此操作的最佳方法是什么 开始一个全新的项目 添加新目
  • 如何在按键时获得本地化字符?

    我需要得到本地化字符 on keypress事件 例如 在捷克语键盘上 我需要输入 而不是 5 个字符 键码 53 请参阅捷克语键盘布局 有没有其他方法来获取字符而不使用文本输入和读取值 换句话说 有什么方法可以从事件对象中获取符合当前用户
  • 如何显示从 axios 请求返回的图像(React)?

    我正在使用 React 开发一个谷歌地图项目 我为 onClick 处理程序分配以下方法 getStreetView lat lng let url https maps googleapis com maps api streetview
  • 如何在onKeyPress期间获取输入文本框的文本?

    我试图在用户输入文本时获取文本框中的文本 jsfiddle游乐场 function edValueKeyPress var edValue document getElementById edValue var s edValue valu
  • 如何从 docker 容器“avahi 浏览”?

    我正在运行一个基于 ubuntu 14 04 的容器 并且我需要能够使用avahi browse在里面 然而 env root 8faa2c44e53e opt cluster manager avahi browse a Failed t
  • PDO PHP bindValue 不起作用

    我知道这个问题已经被问了 1000 次了 但出于某种原因 我继续用头撞墙 这有效 sql SELECT a eventCode a eventTime a teamCode a playerCode b lastName b firstNa
  • 将 ImageView 中的图像保存到设备图库

    我正在尝试将图像从 ImageView 保存到设备库 我试过这段代码 代码编辑 URL url new URL getIntent getStringExtra imageURL File f new File url getPath ad