Android保存图片失败,找不到原因,求指点!

public void saveBitmap() {

    Toast.makeText(MainActivity.this, "保存图片成功", 1).show();
        String state=Environment.getExternalStorageState();
        File file;

    try {
        if(Environment.MEDIA_MOUNTED.equals(state)){
            // 保存图片到SD卡上
           file = Environment.getExternalStorageDirectory();
        }else{
           file =getFilesDir();
        }

        FileOutputStream stream = new FileOutputStream(file.getPath()+System.currentTimeMillis()+".png");
        baseBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
        Toast.makeText(MainActivity.this, "保存图片成功", 0).show();

        // Android设备Gallery应用只会在启动的时候扫描系统文件夹
        // 这里模拟一个媒体装载的广播,用于使保存的图片可以在Gallery中查看鿴
      //  Intent intent = new Intent();
       // intent.setAction(Intent.ACTION_MEDIA_MOUNTED);
       // intent.setData(Uri.fromFile(Environment.getDataDirectory()));
      //  sendBroadcast(intent);
        stream.flush();
        stream.close();

    } catch (Exception e) {
        Toast.makeText(MainActivity.this, "保存图片失败", 1).show();
        e.printStackTrace();
    }

}

    输出“保存图片失败”,  上面这一句也不会被执行:Toast.makeText(MainActivity.this, "保存图片成功", 1).show();为什么呢?但是把try下面的注释了就能执行到,求解!怎样才能保存在手机内存中?
1

8个回答

FileOutputStream stream = new FileOutputStream(file.getPath()+System.currentTimeMillis()+".png");
改成
FileOutputStream stream = new FileOutputStream(file.getAbsolutePath()+"/"+System.currentTimeMillis()+".png");

2

看看你失败的log文件

adb logcat > saveImgFail.log
怀疑是保存的路径有问题

3

你这是andriod6.0系统以下版本吗?
6.0以上版本是需要动态申请权限的。

2

直接用图片工具类吧,哪有这么麻烦!https://github.com/AbrahamCaiJin/CommonUtilLibrary

1

先前可以现在不可以的情况下,看一下安卓手机权限,每个系统版本都会发生少许的变化

1
ZHXG4300
小刚张嘎 谢谢你,我到手机设置->应用管理 里面,去开了储存权限就行了
一年多之前 回复

先检查存储权限,安卓6.0之后存储权限是关闭的,需要你代码去调,然后弹出框让用户授权

0
ZHXG4300
小刚张嘎 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>开了的啊
一年多之前 回复

你看下是不是要在Manifest里面加读写sd卡的权限

0
ZHXG4300
小刚张嘎 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>开了的
一年多之前 回复

已经解决,是路径问题和权限问题,改一个都不行。路径改为:FileOutputStream stream = new FileOutputStream(file.getAbsolutePath()+"/"+System.currentTimeMillis()+".png");权限要在手机设置里面开才行。但是只能采纳一位,谢谢其他人的帮助

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android保存图片成功后图库里却找不到图片
1,情况说明 明明在文件管理器找得到图片,但是在手机系统的图库/相册里却找不到。 原因:文件虽然保存了,但是图库没有刷新。 解决办法:保存文件成功后通过发送广播来通知图库刷新。 最靠谱的解决办法 先把图片插入到系统图库中,再通知图库更新。 注意这里传了文件的绝对路径 file1.getAbsolutePath()) MediaStore.Images...
Android开发——Android 7.0以上出现保存图片失败的问题
前言 在日常的Android开发当中,我们可能遇到保存图片的需求。这个功能是相对容易去实现的,但是今天我更新之前的项目的代码的时候出现了一个Android 7.0保存图片失败的情况。因为不是本人开发的,我将代码从头看起,看起来没有代码写的没有错误呀!我就有点头疼呀,到底是哪个环节没有写对呢? 上代码 private void saveImg() { if (TextUtils.isEmpt...
解决u880刷机失败
很多人刷机失败,总是找不到原因。这里有你想要的
android保存图片至系统相册
0. 写在前面   最近需要做这个功能,然后在网上找了下资料,这篇博文不错,写的比较全而且比较清楚,自己也试了,没问题,转载过来,下次还要用不用再找了! 转载自http://blog.csdn.net/xu_fu/article/details/39158747 最近有些用户反映保存图片之后在系统图库找不到保存的图片,遂决定彻底查看并解决下。 Adnroid中保存图片的
保存图片之后,图库中不能看到的问题解决
写作原因:在做IM的时候有发送图片的需求,进而引申处图片的保存功能,添加保存功能的时候发现保存后再去发送图片的时候,刚才保存的图片没有展示出来。问题解决:在保存成功后需要将文件插入到系统图库,try { MediaStore.Images.Media.insertImage(MwApplication.getContext().get...
Android图片保存后不显示
最近做图片社交,但是发现了一个蛋疼的问题,图片明明下载成功了,也在相应的sd文件夹下,就是显示不出来,需要很长时间或者重启手机才可以,查了半天资料也没找出来。后来发现了Intent的一个属性Intent.ACTION_MEDIA_SCANNER_SCAN_FILE扫描指定文件,原来下载完了还要扫描啊 下面把代码贴出来: path是你图片的路径 /** * 添加到图库 */ publ
Android 保存图片到相册无法显示的问题
今天纠结了很久,用Android自带api: [java] Bitmap bitmap = imageMap.get(url);  MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, "myPhoto", "");           将bitmap保存到系统相册,结果打开相册一直找不到保存的图片。但是重启手机
关于小米手机无法将照片添加到图库解决方法
启动系统相机 无法添加到图库 安卓
Android 保存bitmap图像到本地之后,相册查看不显示问题
http://www.jianshu.com/p/ec250332477f 最近在做项目的时候,遇到了将网络图片资源保存到本地的需求,刚开始是直接开一个下载的线程去下载这张图片,但是考虑到项目图片加载使用的是Universal-image-loader这个第三方的开源库,后来就直接保存bitmap为图片资源到本地了(因为imageloader在加载图片的时候,imageloader可以添
Android 保存图片到系统图库并通知相册刷新在部分手机的相册里无法查看的问题
场景 最近做一个保存应用的图片并插入到系统图库同时通知相册刷新的功能,做完后发现在部分华为和三星的手机上出现虽然图片保存成功了,但是相册却找不到图片的问题,很困惑,查找文件夹图片也已经存在,可就是在相册里刷新不出来。最后百般尝试找到了解决办法: 保存的方法添加写入的动态权限 创建文件路径可选择Environment.getExternalStorageDirectory(),也就是(/stora...
app保存图片到本地,打开相册却不显示
公司的app有保存图片的功能,但是打开相册却不显示,或者说不知道什么时候它显示了,看网上说是系统相册没有刷新。 百度一下,代码不少, 一般都是说先用 MediaStore.Images.Media.insertImage(getContext().getContentResolver(), file.getAbsolutePath(), file.getName(),file.getName(...
opencv保存图片,不报错,但是图片没有保存
主要原因保存的地址不能出现字符以及中文,改用数字加英文就可以保存 file_name = dt.strftime('%Y{y}%m{m}%d{d}').format(y='y',m='m',d='d' )#这里用中文的话不会报错 path = r'E:/sign_system/execute_system/strangers/' + str(file_name) if not os.pat...
android 安卓保存图片到手机相册并且解决图片发黄问题
最近在研究怎么将安卓应用中的图片保存到手机相册。并且解决有一些手机保存图片到相册会出现发黄的问题。 如果要保存图片先在manifest中开启读写权限。 在SDCard中创建与删除文件权限 --> android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 往SDCard写入数据权限 --> android:name="and
Android保存图片到系统图库及常见问题解决
今天要做一个保存图片到系统图库的功能,自身能力较浅,所以只能搜索了但发现网上的方法有几处bug,所以自己总结一下防止以后忘掉也想和大家分享一下. 首页网上保存图片并插入系统图库的方法: // 首先保存图片 File appDir = new File(SAMPLE_DEFAULT_DIR); if (!appDir.exists()) { appDir.mkdi
ios 调用writeToFile将图片保存到本地一直失败的解决方案
该问题纠结了我半天时间。。。查了很多资料,最后才发现调用writeToFile返回false的原因。在此附上解决方案: NSData *imageData = UIImageJPEGRepresentation(currentImage, 1.0f);//currentImage是传过来的UIImage NSString *inewImageName=[self getImage
Android 保存图片到相册,相册里不显示
明明保存下来了,为什么进入相册时查看不到呢? 原来我们在保存成功后,还要发一个系统广播通知手机有图片更新,广播如下: Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(file); intent.setData(uri); context.sendBroadcast(i...
Android中保存图片到SD卡不能及时显示的问题
在做android图片保存到相册功能时,不能在相册中及时看到保存的图片。需要扫描某个文件或者扫描整个SD卡。 步骤: 1、保存图片到相册: ContentResolver cr = mContext.getContentResolver(); String url = MediaStore.Images.Media.insertImage(cr, bitmap, "", "
Android中使用file.createNewFile()无法创建文件的问题(例如保存拍照的图片到本地)
安卓中例如保存拍照的图片到本地出现file.createNewFile()不起作用的问题
安卓开发下载图片保存到手机后图片没在相册看到的问题
今天我们用户反馈关于图片下载保存后,图片在相册中一直找不到,但是在文件的路径里是可以看到的!解决:其实我们只要保存图片成功后执行刷新一下相册就可以啦!代码贴上!MediaScannerConnection.scanFile(context, new String[]{path}, null, null);//path:图片保存的路径 希望对遇到问题的同学有所帮助哈!!
gradle-4.5-all
用于android studio 各种原因找不到资源文件gradle-4.5-all
Android实现保存图片到本地并在相册中显示
Android实现保存图片到本地并在相册中显示       最近在学习从网络上获取图片并保存到本地的知识,在完成了相关知识学习后,发现并不能在相册中找到图片,这篇文章主要为大家详细介绍了Android实现保存图片到本地并在相册中显示的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。       Android中拍照保存图片到本地是常见的一种需求,之前碰到了一个问题,就是在4.4
Android 保存图片到系统相册(三星6.0有效)
今天要做一个保存图片到系统图库的功能,自身能力较浅,所以只能搜索了但发现网上的方法有几处bug,所以自己总结一下防止以后忘掉也想和大家分享一下. 首页网上保存图片并插入系统图库的方法: // 首先保存图片 File appDir = new File(SAMPLE_DEFAULT_DIR); if (!appDir.exists()) { appDir.m
android保存图片后相册中不能马上显示的解决、!
图片保存至相册后不能马上保存是因为相册不是每次都直接扫描所有目录,而是主要在开机时才扫描,并将图片路径等信息存至 相应数据库,进入相册时直接从数据库读取所有扫描到的图片。所以直接保存图片至目录,相册不能立刻显示出来。解决方法是, 保存图片后,直接把路径等相关信息直接插入数据库即可。 public static boolean saveImgToGallery(String fileNa
android 自定义路径保存图片后 在相册在可见
Uri uri = Uri.parse("file://"+imgPath);      sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri));
android 小米手机选择相册图片截取照片不进onActivityResult报“保存时发生错误,保存失败”
小米选择相册时如果不使用系统截屏,直接压缩不会报“保存时发生错误,保存失败”的错误,如果截屏就会报如上错误。需要把URI地址转为图片地址,再包成file文件转为URI Uri uri = intent.getData(); String type = intent.getType(); if (uri.toString().contains(&quot;com.miui.ga...
Android 拍照后保存到手机里,在相册找不到
1、拍完照后用下面的方法写到相册中        MediaStore.Images.Media.insertImage(AddCommercial.this.getContentResolver(),                                 file.getAbsolutePath(), name, null); 2、通知系统跟新手机储存目录          
Android 4.4以上保存图片并通知图库
以前可以通过 Intent.ACTION_MEDIA_MOUNTED 发送广播。 4.4以后再这么用,就会报异常了: SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from.pid=xxx,uid=xxx 这是因为
Android中保存图片到本地并更新到相册及图片出现在相册时间不正确解决方案
刚开始保存图片到本地更新相册后时间显示1970年月1日,网上看了好多方案都不用详细代码:/** * 将URL转化成bitmap形式 * * @param url * @return bitmap type */ public final static Bitmap returnBitMap(String url) { URL myFileUrl; Bitmap bitma...
找不到出错原因,求大神指点
import java.util.Scanner;rnpublic class Args rn public static void main(String[] args)rn Scanner in=new Scanner(System.in);rn int size=10;rn int[] a=new int[size];rn for(int i=0;i
面试题
求大家指点
android 二维码保存成功了,但是微信从相册里找二维码找不到?保存对象是bitmap
ps:android 二维码保存成功了,但是微信从相册里找二维码找不到?保存对象是bitmap 1、getBitmap Glide.with(getApplicationContext()).load(mUrl).asBitmap().into(new SimpleTarget() { @Override public void onResourceReady(Bitmap
Android长按图片保存到本地并且更新图库
实现效果: 实现过程: 首先定义以下数组: //长按后显示的 Item final String[] items = new String[] { "保存图片"}; //图片转成Bitmap数组 final Bitmap[] bitmap = new Bitmap[1]; 图片转Bitmap数组代码: Glide.with(context).load(url).asBitmap().into(...
android——生成或者下载的图片在相册中找不到
今天在写程序的时候,遇到了一个问题,就是生成的图片一直都不能在相册中显示出来,而且,就连通过发送Intent过去,都找不到。通过在网上搜索,发现了一个很好的方法。 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(new File
android保存图片到本地并可以在相册中显示出来
app应用是越来越人性化:界面优美,服务多样化,操作还非常方便。比如我们在用app的时候,发现上面有比较的图片想保存到手机,只要点一点app上提供的保存按钮就可以了。那这个图片保存到本地怎么实现的呢?    保存图片很简单,方法如下:         /** 首先默认个文件保存路径 */ private static final String SAVE_PIC_PATH=Environmen
classes_dex2jar
求破解 指点classes_dex2jar
电脑蓝屏,系统死机,内存溢出,硬件不兼容原因查看器
电脑蓝屏了找不到原因; 电脑死机了找不到原因; 电脑卡住不动了找不到原因; 电脑硬件不兼容找不到原因; 电脑内存溢出了找不到原因 本工具直接显示错误原因,专业人士必备工具查看器。
android 保存图片到相册并正常显示
分为三个步骤,1. 保存图片;2.把文件插入到系统图库;3. 通过广播通知图库更新. 不啰嗦,直接上代码~ public static void saveImageToGallery(Context context, Bitmap bmp) { // 首先保存图片 File appDir = new File(Environment.getExternalSt
Android App签名信息查看 (安装失败问题)
如何快捷的查看app签名信息,排查app安装失败原因。
长按图片保存到指定的文件夹,并且更新到图库中
很多时候我们的应用需要把图片保存到本地图库的指定文件夹中,但是保存了能在指定的路径看见,系统图库中却看不见,需要发送一个广播通知系统更新图库。 权限不要忘了加<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>public class MainActivity ext
固件烧写程序失败原因图片
固件烧写程序失败原因图片,固件烧写程序失败原因图片 固件烧写程序失败原因图片,固件烧写程序失败原因图片
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 学习人工智能的原因 大数据学习原因