android 下载图片到sd卡,通过查看“相册”找不到,确定已经下载到sd卡,求指点 android图片sdcard 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 byte[] b = new byte[1024]; //创建字节数组。 while(bis.read(b)!=-1){ //输入流中的数据如果还有下一行(!=-1)将继续循环 bos.write(b); //将字节数组写入输出流。 } 这个地方 改成int n = -1;while(n= bis.read(b) ! = -1) { bos.write(0,n,b);类似这样的,否则有时候你的字节数刚好不是1024就可能打不开图片}如果你下载到SDCARD中,手机相册里面的数据 是有个数据库维护的,你重来不打开可能 数据库就没有 刚下载的图片信息。 byte[] b = new byte[1024]; 不需要这句代码吗? 那while(n= bis.read(b) ! = -1) b 是什么? 还需要更新media的database。可以发送broadcast Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,参数带上文件的完整路径,让mediaprovider scan这个文件。 如果没有通知系统更新图库的sqlite数据,新的图片是看不到的。可以发个开机广播或者sdcard重新放入的广播,系统就会更新的。 或者你重启模拟器 sccard重新放入广播,求指点? 你好,我不会用广播,能给个demo吗? 谢谢你了 public void scanFileAsync(Context ctx, String filePath) { Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); scanIntent.setData(Uri.fromFile(new File(filePath))); ctx.sendBroadcast(scanIntent); }写了一个这样的方法,把我的midr(文件目录) 丢进去,貌似还是不行 问题解决了,网上找的答案,不过还是谢谢几位。 //扫描指定文件 public void scanFileAsync(Context ctx, String filePath) { Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); scanIntent.setData(Uri.fromFile(new File(filePath))); ctx.sendBroadcast(scanIntent); } //扫描指定目录 public static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR"; public void scanDirAsync(Context ctx, String dir) { Intent scanIntent = new Intent(ACTION_MEDIA_SCANNER_SCAN_DIR); scanIntent.setData(Uri.fromFile(new File(dir))); ctx.sendBroadcast(scanIntent); }调用这两个方法就可以了 android json string转换jsonarray 报错 在线等 android使用ksoap连接webservices问题 请教下,投入2w元,能开发一个应用吗? android 导航软件 看着OpenCore 犯晕了 探讨GO锁屏实现,如何锁定home键 如何用Opencv用数学函数去识辨试管底部 android的service有什么用 求助:台式机直接控制安卓手机并且直接用台式机接听电话 Android Studio能开发PC上运行的程序吗·? Android 自定义surfaceview作为背景 FindClass 找不到类
while(bis.read(b)!=-1){ //输入流中的数据如果还有下一行(!=-1)将继续循环
bos.write(b); //将字节数组写入输出流。
} 这个地方 改成
int n = -1;
while(n= bis.read(b) ! = -1) {
bos.write(0,n,b);类似这样的,否则有时候你的字节数刚好不是1024就可能打不开图片
}如果你下载到SDCARD中,手机相册里面的数据 是有个数据库维护的,你重来不打开可能 数据库就没有 刚下载的图片信息。
可以发送broadcast Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,参数带上文件的完整路径,让mediaprovider scan这个文件。
或者你重启模拟器
public void scanFileAsync(Context ctx, String filePath) {
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(new File(filePath)));
ctx.sendBroadcast(scanIntent);
}写了一个这样的方法,把我的midr(文件目录) 丢进去,貌似还是不行
//扫描指定文件
public void scanFileAsync(Context ctx, String filePath) {
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
scanIntent.setData(Uri.fromFile(new File(filePath)));
ctx.sendBroadcast(scanIntent);
}
//扫描指定目录
public static final String ACTION_MEDIA_SCANNER_SCAN_DIR = "android.intent.action.MEDIA_SCANNER_SCAN_DIR";
public void scanDirAsync(Context ctx, String dir) {
Intent scanIntent = new Intent(ACTION_MEDIA_SCANNER_SCAN_DIR);
scanIntent.setData(Uri.fromFile(new File(dir)));
ctx.sendBroadcast(scanIntent);
}调用这两个方法就可以了