Android 学习笔记十三 通过绝对路径得到uri
来源:互联网 发布:网络诈骗手段及防范 编辑:程序博客网 时间:2024/06/05 14:48
private static Uri queryMedia(String mediaPath, String path, Context context) { String StringUri = null; ContentResolver mContentResolver = context.getContentResolver(); if (TextUtils.isEmpty(path)) { return null; } StringUri = "content://media/external/" + path + "/media"; Log.d(TAG,"mediaPath:"+mediaPath); Log.d(TAG,"path:"+path); Log.d(TAG,"path:"+StringUri); String searchString = mediaPath; Cursor c = null; try { searchString = Uri.decode(searchString).trim().replace("'", "''"); Uri uri = Uri.parse(StringUri); c = mContentResolver.query(uri, new String[] { "_id" }, "_data='" + searchString + "'", null, null); if (c != null && c.moveToNext()) { int id = c.getInt(0); return Uri.withAppendedPath(uri, String.valueOf(id)); } } finally { if (c != null) { c.close(); } } return null; }
通过上面的方法可以实现对于文件uri 的查找
下面是一个具体使用的例子
其中path 为文件的绝对路径
if (mimetype.startsWith("image/")) {path = queryMedia(path.toString().substring(7, path.toString().length()),"images", context);Log.d(TAG, "6666666 uri = " + path);Intent activityIntent = new Intent(Intent.ACTION_VIEW);mimetype = mimetype.toLowerCase();activityIntent.setDataAndType(path, mimetype);activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);try {if (V)Log.d(TAG, "ACTION_VIEW intent sent out: " + path+ " / " + mimetype);context.startActivity(activityIntent);} catch (ActivityNotFoundException ex) {if (V)Log.d(TAG,"no activity for handling ACTION_VIEW intent: "+ mimetype, ex);}}
0 0
- Android 学习笔记十三 通过绝对路径得到uri
- 从相册取图片得到图片的uri再通过工具类得到图片的绝对路径
- android 通过图片的uri来获取图片的绝对路径
- Android 通过图片Uri得到图片真实路径的
- android系统通过图片绝对路径获取URI的三种方法
- android系统通过图片绝对路径获取URI的三种方法
- android系统通过图片绝对路径获取URI的三种方法
- android系统通过图片绝对路径获取URI的三种方法
- 老马的技术博客 android系统通过图片绝对路径获取URI的三种方法
- Android学习笔记(十三)
- 通过Uri查询数据得到Cursor
- android 根据Uri获取文件绝对路径
- Android根据URI获取图片绝对路径
- Android获取URI的绝对路径的类
- Android:根据Uri获得Image的绝对路径
- Android根据图片Uri获取图片绝对路径
- Android根据图片Uri获取图片绝对路径
- Android 小笔记 Uri获取绝对路径 、路径转Bitmap、获取屏幕截图
- ipconfig /flushdns 清除系统DNS缓存
- Android 事件拦截 处理
- 复习(数据结构):链表:c语言
- 如何在施工物料管理Web系统中处理大量数据并显示
- 未闻花名ED《君がくれたもの》原文+罗马音+中文
- Android 学习笔记十三 通过绝对路径得到uri
- Linux目录结构及文件
- Leetcode 121. Best Time to Buy and Sell Stock (Easy) (cpp)
- Android Binder机制(三) ServiceManager守护进程
- 如何测试java中对象的等价性
- mac os下重置mysql密码
- Linux的oops内核调试信息 && Linux Kernel Panic报错解决思路
- Linux命令--dpkg
- PAT乙级练习题B1048. 数字加密