大佬教程收集整理的这篇文章主要介绍了android – 从真正的路径获取Uri,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/** * Given a media filename,returns it's id in the media content provider * * @param providerUri * @param appContext * @param filename * @return */ public long getMediaItemIdFromProvider(Uri providerUri,Context appContext,String fileName) { //find id of the media provider item based on filename String[] projection = { Mediacolumns._ID,Mediacolumns.DATA }; cursor cursor = appContext.getContentResolver().query( providerUri,projection,Mediacolumns.DATA + "=?",new String[] { filename },null); if (null == cursor) { Log.d(tag_LOG,"Null cursor for file " + fileName); return ITEMID_NOT_FOUND; } long id = ITEMID_NOT_FOUND; if (cursor.getCount() > 0) { cursor.moveToFirst(); id = cursor.getLong(cursor.getcolumnIndexOrThrow(Basecolumns._ID)); } cursor.close(); return id; }
有时,在将一个媒体文件添加到设备的存储中后,MediaProvider不会立即刷新.您可以使用此方法强制刷新其记录:
/** * Force a refresh of media content provider for specific item * * @param filename */ private void refreshMediaProvider(Context appContext,String fileName) { MediaScAnnerConnection scAnner = null; try { scAnner = new MediaScAnnerConnection(appContext,null); scAnner.connect(); try { Thread.sleep(200); } catch (Exception E) { } if (scAnner.isConnected()) { Log.d(tag_LOG,"requesTing scan for file " + fileName); scAnner.scanFile(filename,null); } } catch (Exception E) { Log.e(tag_LOG,"CAnnot to scan file",E); } finally { if (scAnner != null) { scAnner.disconnect(); } } }
以上是大佬教程为你收集整理的android – 从真正的路径获取Uri全部内容,希望文章能够帮你解决android – 从真正的路径获取Uri所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。