当前位置: 首页 > 知识库问答 >
问题:

Android在外部存储上写入

冯敏达
2023-03-14
Bitmap bm = BitmapFactory.decodeResource( getResources(), R.drawable.paco);

        File file = new File( Environment.getExternalStorageDirectory(), "paco.png");
        FileOutputStream outStream = null;

        try {
        FileOutputStream out = new FileOutputStream(file);
        bm.compress(Bitmap.CompressFormat.PNG, 90, out);
        out.flush();
        out.close();
            Log.d("XXXXX","voy a cerrar");
        } catch (Exception e) {
           Log.e("XXXXX","eeeee", e);
        }

我的舱单中有权限条目:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.usuari.myapplication3">

    <uses-permission android:name="android.permission.INTERNET" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

...

编辑:我正在使用sdk 23

共有1个答案

侯和惬
2023-03-14

首先,检查您的存储是否准备就绪:

if (Environment.getExternalStorageState(file) != Environment.MEDIA_MOUNTED) {
    // your storage is not ready for work, do something with this
}

其次,就我所记得的,从Kit-Kat开始,你不能写到外部存储的根。只允许写入存储中特定于应用程序的文件夹。若要获取此文件夹,请使用

Environment.getExternalStoragePublicDirectory(directoryType);

关于directoryType,检查方法的文档,您可能想使用environment.directory_pictures。

 类似资料:
  • 我想在Android应用程序中写入外部存储,但我似乎没有获得正确的权限。该应用程序在Android 7上运行,因此我请求如下运行时权限: 我的一个观察是,onRequest estPermissionsResult似乎返回未授予权限,但在启动应用程序时也从未提示我允许写入外部存储。 要写入存储的代码如下: 03-16 14:50:49.988 19145-19306/? 带系统。错误:java。i

  • 问题内容: 我看到很多其他人都在问同样的问题,但是没有发布的解决方案对我有帮助。 我正在尝试从我的Android应用程序将(二进制)文件写入外部存储。我输入了清单,但仍然无法创建任何文件。我用来创建文件的代码是 对的调用失败,并引发(ENOENT,因为该目录不存在) 有人知道怎么回事吗?我什至尝试过重启设备。如果有任何区别,我使用的是Nexus 7的API级别8。 问题答案: 首先,您应该检查Ex

  • 本文向大家介绍Android App将数据写入内部存储和外部存储的示例,包括了Android App将数据写入内部存储和外部存储的示例的使用技巧和注意事项,需要的朋友参考一下 File存储(内部存储) 一旦程序在设备安装后,data/data/包名/ 即为内部存储空间,对外保密。 Context提供了2个方法来打开输入、输出流 FileInputStream openFileInput(Strin

  • 我是android新手,有时找不到合适的解决方案,这就是其中之一。 我写了一个简单的应用程序来编写使用ITextPdf libray生成的内部pdf。这工作得很好,我可以从设备文件资源管理器中看到pdf文件。现在我正在使用外部存储做同样的事情,但在这种情况下,我不能在下载文件夹中生成文件。我找到了对我的代码不起作用的解决方案。 我的代码: java文件 我在中发现了问题。它返回-1,但我不明白它不

  • 我正试图实现一些清理工具。越来越多的制造商出于某种“安全原因”禁止根设备,禁止不请求解锁。 在API28之后,这段代码将出现错误: 但我相信将来会被杀的。 那么,有什么优雅的方法来管理SDCard吗?

  • 问题内容: 我的应用程序( Android API 15 )制作图片并将其存储在内部存储器的文件夹中。现在,我想将此文件复制到外部存储中的另一个文件夹,例如。我尝试了以下方法: 方法1: 方法2: 方法3: 这些方法都不能解决我的任务。在检查了许多相关主题之后,我发现的唯一建议是验证 在和它确实存在。 该 方法#1 完成执行,但没有文件夹和文件被复制。 在 方法#2 ,应用程序失败,异常的,但对象