安卓系统怎么升级问题

页面导航:
→ 正文内容 Android拍照
Android拍照保存在系统相册不显示的问题解决方法
我们保存相册到Android手机的时候,然后去打开系统图库找不到我们想要的那张图片,那是因为我们插入的图片还没有更新的缘故,下面与大家分享下此问题的解决方法
可能大家都知道我们保存相册到Android手机的时候,然后去打开系统图库找不到我们想要的那张图片,那是因为我们插入的图片还没有更新的缘故,先讲解下插入系统图库的方法吧,很简单,一句代码就能实现
代码如下: MediaStore.Images.Media.insertImage(getContentResolver(), mBitmap, "", "");
通过上面的那句代码就能插入到系统图库,这时候有一个问题,就是我们不能指定插入照片的名字,而是系统给了我们一个当前时间的毫秒数为名字,有一个问题郁闷了很久,我还是先把insertImage的源码贴出来吧
代码如下: /** * Insert an image and create a thumbnail for it. * * @param cr The content resolver to use * @param source The stream to use for the image * @param title The name of the image * @param description The description of the image * @return The URL to the newly created image, or &code&null&/code& if the image failed to be stored * for any reason. */ public static final String insertImage(ContentResolver cr, Bitmap source, String title, String description) { ContentValues values = new ContentValues(); values.put(Images.Media.TITLE, title); values.put(Images.Media.DESCRIPTION, description); values.put(Images.Media.MIME_TYPE, "image/jpeg"); Uri url = String stringUrl = /* value to be returned */ try { url = cr.insert(EXTERNAL_CONTENT_URI, values); if (source != null) { OutputStream imageOut = cr.openOutputStream(url); try { <pressFormat.JPEG, 50, imageOut); } finally { imageOut.close(); } long id = ContentUris.parseId(url); // Wait until MINI_KIND thumbnail is generated. Bitmap miniThumb = Images.Thumbnails.getThumbnail(cr, id, Images.Thumbnails.MINI_KIND, null); // This is for backward compatibility. Bitmap microThumb = StoreThumbnail(cr, miniThumb, id, 50F, 50F, Images.Thumbnails.MICRO_KIND); } else { Log.e(TAG, "Failed to create thumbnail, removing original"); cr.delete(url, null, null); url = } } catch (Exception e) { Log.e(TAG, "Failed to insert image", e); if (url != null) { cr.delete(url, null, null); url = } } if (url != null) { stringUrl = url.toString(); } return stringU }
上面方法里面有一个title,我刚以为是可以设置图片的名字,设置一下,原来不是,郁闷,哪位高手知道title这个字段是干嘛的,告诉下小弟,不胜感激! 当然Android还提供了一个插入系统相册的方法,可以指定保存图片的名字,我把源码贴出来吧
代码如下: /** * Insert an image and create a thumbnail for it. * * @param cr The content resolver to use * @param imagePath The path to the image to insert * @param name The name of the image * @param description The description of the image * @return The URL to the newly created image * @throws FileNotFoundException */ public static final String insertImage(ContentResolver cr, String imagePath, String name, String description) throws FileNotFoundException { // Check if file exists with a FileInputStream FileInputStream stream = new FileInputStream(imagePath); try { Bitmap bm = BitmapFactory.decodeFile(imagePath); String ret = insertImage(cr, bm, name, description); bm.recycle();
} finally { try { stream.close(); } catch (IOException e) { } } }
啊啊,贴完源码我才发现,这个方法调用了第一个方法,这个name就是上面方法的title,晕死,这下更加郁闷了,反正我设置title无效果,求高手为小弟解答,先不管了,我们继续往下说 上面那段代码插入到系统相册之后还需要发条广播
代码如下: sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
上面那条广播是扫描整个sd卡的广播,如果你sd卡里面东西很多会扫描很久,在扫描当中我们是不能访问sd卡,所以这样子用户体现很不好,用过微信的朋友都知道,微信保存图片到系统相册并没有扫描整个SD卡,所以我们用到下面的方法
代码如下: Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); Uri uri = Uri.fromFile(new File("/sdcard/image.jpg")); intent.setData(uri); mContext.sendBroadcast(intent);
或者用MediaScannerConnection
代码如下: final MediaScannerConnection msc = new MediaScannerConnection(mContext, new MediaScannerConnectionClient() { public void onMediaScannerConnected() { msc.scanFile("/sdcard/image.jpg", "image/jpeg"); } public void onScanCompleted(String path, Uri uri) { Log.v(TAG, "scan completed"); msc.disconnect(); } });
也行你会问我,怎么获取到我们刚刚插入的图片的路径?呵呵,这个自有方法获取,insertImage(ContentResolver cr, Bitmap source,String title, String description),这个方法给我们返回的就是插入图片的Uri,我们根据这个Uri就能获取到图片的绝对路径
代码如下: private String getFilePathByContentResolver(Context context, Uri uri) { if (null == uri) {
} Cursor c = context.getContentResolver().query(uri, null, null, null, null); String filePath = if (null == c) { throw new IllegalArgumentException( "Query on " + uri + " returns null result."); } try { if ((c.getCount() != 1) || !c.moveToFirst()) { } else { filePath = c.getString( c.getColumnIndexOrThrow(MediaColumns.DATA)); } } finally { c.close(); } return fileP }
根据上面的那个方法获取到的就是图片的绝对路径,这样子我们就不用发送扫描整个SD卡的广播了,呵呵,写到这里就算是写完了,写的很乱,希望大家将就的看下,希望对你有帮助!
您可能感兴趣的文章:
上一篇:下一篇:
最 近 更 新
热 点 排 行
12345678910当前位置 & &
& Android L仍需改善的三个问题
Android L仍需改善的三个问题
15:43:49&&出处:&&
编辑:大鹏 &&)
让小伙伴们也看看:
文章观点支持
当前平均分:0(0 次打分)
[07-05][07-05][07-04][07-03][07-03][07-03][07-03][07-02][07-02][07-02]
登录驱动之家
没有帐号?
用合作网站帐户直接登录养生图片信息
乐园图片信息
扮靓图片信息
爱好图片信息
网购图片信息
24小时更新第四页第三页第二页第一页
备案号:粤ICP备号
QQ在线服务: 邮箱:
地址:深圳市南山区西丽镇桃源街道办事处长源社区5栋602
CopyRight , www.babsoft.net, Inc.All Rights Reserved.安卓系统问题_百度知道
安卓系统问题
我的手机:摩托罗拉,XT720问题类型:系统设置,刷机我这两天每次开机都会有这样的提示
com.motorala.android.extdispservice应用程序在com.motorala.android.extdispservice进程中意外停止,请重试。不知道是怎么回事。我前两天删畅场扳渡殖盗帮醛爆互掉一个系统内置的视频播放的东西,以前用手机拍的视频可以直接播放。现在要装别的播放软件才可以播放了。这会有关系吗
那是用HDMI接口连接电视放视频的,不用可以删除,没什么关系的!如果想修复就把删除的文件补上!
其他类似问题
您可能关注的推广回答者:
安卓系统的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Android系统手机问题 高手进!!!
Android系统手机问题 高手进!!!
我用的是Android系统的手机((索爱)),手机里自带了新浪微博的软件,我按登陆了以后就说&没有进行身份验证&,然后就自动返回登陆界面。求高手解答,谢谢!!!
不区分大小写匿名
是索爱x10吗
這樣,你從新註冊一個試試,我的就沒事,要還不行問我
注册过了,还是不行
是手机软件问题,从起试试,不行刷次机,还不行去修一下
- -我那是新机啊。。刚用了没几天。。
重装软件可以吗?
如果还不行就用uc浏览器上,一样的
卸载 重新安装下
两位仁兄请不要误导楼主
这跟android的系统无关
而是跟你的新浪微薄帐号有关,是因为你没有进行身份验证
是身份验证。。不是认证。。
手机微博不可能只有名人才能上吧。。。
用电脑申请微博帐号
之前就在电脑申请了,
那是怎么回事 我的可以上啊 我也是android的 要不我发给你新浪微博的安装包吧
相关知识等待您来回答
手机领域专家
当前分类官方群讨论、解答、交流电脑数码相关的疑难问题

我要回帖

更多关于 安卓系统怎么升级 的文章

 

随机推荐