首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

无法在所有操作系统版本上通过getContentResolver().query()获取新创建的视频文件

问题描述:无法在所有操作系统版本上通过getContentResolver().query()获取新创建的视频文件。

回答: 这个问题可能是由于操作系统版本的差异导致的。在某些操作系统版本上,使用getContentResolver().query()方法可能无法获取到新创建的视频文件。这个方法是用于查询Content Provider中的数据,但是不同的操作系统版本对于新创建的视频文件的处理方式可能有所不同。

解决这个问题的方法是使用其他途径来获取新创建的视频文件。以下是一些可能的解决方案:

  1. 使用File类进行文件操作:可以使用File类来获取指定目录下的所有文件,然后筛选出视频文件。例如,可以使用File类的listFiles()方法来获取指定目录下的所有文件,然后使用文件名或文件类型进行筛选。
  2. 使用MediaScanner进行媒体文件扫描:Android系统提供了MediaScanner类,可以用于扫描媒体文件并将其添加到媒体库中。可以使用MediaScannerConnection类的scanFile()方法来扫描指定的文件,然后通过监听器获取扫描结果。
  3. 使用第三方库:还可以使用一些第三方库来简化获取新创建的视频文件的过程。例如,可以使用开源库如FFmpeg或ExoPlayer来处理媒体文件。

总结: 无法在所有操作系统版本上通过getContentResolver().query()获取新创建的视频文件可能是由于操作系统版本的差异导致的。可以通过使用File类进行文件操作、使用MediaScanner进行媒体文件扫描或使用第三方库来解决这个问题。具体的解决方案可以根据实际需求和应用场景进行选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 安卓基础干货(九):安卓内容提供者学习

    使用ContentProvider(内容提供者)共享数据 ContentProvider android中作用是对外共享数据,也就是说你可以通过ContentProvider把应用中数据共享给其他应用访问...,其他应用可以通过ContentProvider 对你应用中数据进行添删改查。...是这样,如果采用文件操作模式对外共享数据,数据访问方式会因数据存储方式而不同,导致数据访问方式无法统一,如:采用xml文件对外共享数据,需要进行xml解析才能读取数据;采用sharedpreferences...类来完成,要获取ContentResolver 对象,可以使用Activity提供getContentResolver()方法。...如果ContentProvider访问者需要知道ContentProvider中数据发生变化,可以ContentProvider 发生数据变化时调用getContentResolver().notifyChange

    1.7K10

    Android深入四大组件(五)Content Provider启动过程

    注释1处通过acquireUnstableProvider方法返回IContentProvider类型unstableProvider对象,注释2处调用unstableProviderquery...注释1处通过getProcessRecordLocked方法来获取目标ContentProvider应用程序进程信息,这些信息用ProcessRecord类型proc来表示,如果该应用进程已经启动就会调用注释...注释1处通过prepareMainLooper方法ThreadLocal中获取Looper,并在注释3处开启消息循环。...到目前为止,上面的调用过程还是AMS进程中执行,因此,需要通过IBinder类型mRemote对象向新创建应用程序进程(目标Content Provider所在进程)发送BIND_APPLICATION_TRANSACTION...处理这个通信请求新创建应用程序进程中执行ApplicationThreadbindApplication方法,如下所示。

    1.2K100

    Android数据存储实现5大方式

    把数据库从设备考出来,你可以使用 adb pull 命令(或者 IDE 做相应操作)。 存储一个修改过数据库到设备,使用 adb push 命令。...第四种: 使用ContentProvider存储数据 Android这个系统和其他操作系统还不太一样,我们需要记住是,数据Android当中是私有的,当然这些数据包括文件数据和数据库数据以及一些其他类型数据...,我们可以通过迭代这个游标来获取所有的数据: Java代码 ?..._data字段,_data字段列出了该文件Android文件系统精确路径。...第五种: 网络存储数据 前面介绍几种存储都是将数据存储本地设备,除此之外,还有一种存储(获取)数据方式,通过网络来实现数据存储和获取

    3.5K20

    Android四大组件之ContentProvider

    Android四大组件之ContentProvider ContentProvider 安卓应用程序默认是无法获取到其他程序数据,这是安卓安全学基石(沙盒原理)。...可以简单理解为,内容提供者就是一个可以不同应用程序间共享数据组件,相当于一个中间人,一个程序把数据暴露给这个中间人,另一个则通过这个中间人获取相应数据....设置成自己成员变量中记录, 所以对于获取getContext时候只能放在方法内,不能放到成员位置,因为成员时是null,而在方法内调用时该类就会已经初始化完了 ContentProvider...// 如果不一致,则会导致对应Activity无法启动。...并获取里面的数据 public void query(View view){ //得到内容提供者解析器 中间人 ContentResolver resolver = getContentResolver

    97960

    ContentProvider初探

    使用系统提供ContentProvider 其实很多时候我们用到ContentProvider并不是自己暴露自己数据,更多时候通过 ContentResolver来读取其他应用信息,最常用莫过于读取系统...如果你想来调用这些ContentProvider就需要自行查阅相关API资料了! 另外,不同版本,可能对应着不同URL!...ContentResolver resolver = getContentResolver(); //获取是哪些列信息 Cursor cursor = resolver.query...; resolver.insert(uri, conValues); } 注意事项: 上述代码4.4以下都可以实现写入短信功能,而5.0无法写入,原因是: 从5.0开始,默认短信应用外软件不能以写入短信数据库形式发短信...使用指南: 运行程序后,晾一边,收到短信后,可以logcat看到该条信息内容,可以根据自己需求 将Activtiy改做Service,而在后台做这种事情~ 小结 关于ContentProvider

    51830

    Carson带你学Android:关于ContentProvider知识都在这里了!

    若ContentProvider数据存储方式是使用SQLite & 一个,则不需要,因为SQLite内部实现好了线程同步,若是多个SQLite则需要,因为SQL对象之间无法进行线程同步 // b....) 实例说明 // 使用ContentResolver前,需要先获取ContentResolver // 可通过所有继承Context类中 通过调用getContentResolver()来获得ContentResolver...://cn.scu.myprovider/user"); // 根据URI 操作 ContentProvider中数据 // 此处是获取ContentProvider中 user表所有记录.../user/7") long personid = ContentUris.parseId(uri); //获取结果为:7 4.6 UriMatcher类 作用 ContentProvider...// 该方法最下面 String table = getTableName(uri); // // 通过ContentUris类从URL中获取ID /

    44610

    Android 11 应用兼容性适配,看这篇就够了

    App运行模式 Android 11版本,系统会根据App targetSdkVersion决定运行模式: ● App targetSdkVersion >= 30,默认为分区存储,并且无法取消...获取所有的Volume 对于前面描述Uri中,getContentUri如何获取所有,可以通过下述方式: 1.3.2.1.2.Uri跟公共目录关系 MediaProvider...,”w”,null); 1.3.2.1.8.删除文件 通过ContentResolver接口删除文件,Uri为query出来Uri: getContentResolver().delete(contentUri...Android 11 版本,需要通过声明MANAGE_EXTERNAL_STORAGE权限来获取“Allowed for all files(允许存储所有文件)”权限,进行功能实现。...2 兼容性影响 用户无法搭载Android 11设备安装或更新仅通过APK签名方案v1 签名应用。

    12.6K42

    Android7.0以上Uri转路径方法实现(已验证)

    网络看到过很多种Uri转路径方法,可基本都只适用于很少Uri值,可能没有结果(例如,对于由MediaStore索引非本地文件),也可能没有可用结果(例如,对于可移动存储文件)。...解决方法 使用ContentResolver和openInputStream()Uri标识内容获取InputStream。...控制文件使用InputStream和FileOutputStream复制内容,然后使用该文件。...VIVO、OPPO、MIUI、EMUI… 解决国内产商问题:华为黄色图标管理器,他返回了4.4标准Uri了,不是4.4以上标准Uri,导致解析时候,判断到版本 4.4,然后用了4.4以上标准解析...uri.getPath(); } // 版本兼容获取

    1.7K40

    Android ContentProvider之联系人数据库及操作

    具体哪些独立数据可以占一行,可以mimetypes这张表中找到, 原生Android系统 一共12种,例如name,phone,email ect.....大部分情况下这两层数据时指同一个联系人信息,即他们俩是一一对应关系,但是有些特殊 情况,这个我是查了一些老外论坛加上自己理解,例如 我做一个本地通信录和网络通信录同步时候,可能有一个人他本地存在...3 Uri dataUri = Uri.parse (“content://com.android.contacts/data”); data表 Ø 该表保存了所有创建过手机测联系人所有信息,每个字段占一行...Ø 联系人所有信息保存在列data1至data15中,各列中保存内容根据MimeTypeID不同而不同。..._id Cursor query = getContentResolver().query(uri, new String[]{"_id"}, null, null, null);

    92610

    Android11 (API30)适配

    App运行模式 Android 11版本,系统会根据App targetSdkVersion决定运行模式: ●  App targetSdkVersion >= 30,默认为分区存储,并且无法取消。...获取所有的Volume 对于前面描述Uri中,getContentUri如何获取所有,可以通过下述方式: 1.3.2.1.2.Uri跟公共目录关系 MediaProvider...,"w",null); 1.3.2.1.8.删除文件 通过ContentResolver接口删除文件,Uri为query出来Uri: getContentResolver().delete(contentUri...Android 11 版本,需要通过声明MANAGE_EXTERNAL_STORAGE权限来获取“Allowed for all files(允许存储所有文件)”权限,进行功能实现。...2 兼容性影响 用户无法搭载Android 11设备安装或更新仅通过APK签名方案v1 签名应用。

    7.8K11

    Android四大组件之ContentProvider

    话不多说,让我们赶紧开始学习吧~ 简介 ContentProvider是Android系统中为开发者专门提供不同应用间进行数据共享组件,其提供了一套标准接口用来获取以及操作数据,准许开发者把自己应用数据根据需求开放给其他应用进行增删改查...public abstract ContentResolver getContentResolver(); 所以可以在所有继承Context类中通过 getContentResovler() 方法获取...authorities:自定义ContentProvider唯一标识,外部应用通过该属性值来访问我们ContentProvider。因此该属性值必须是唯一,建议命名时以包名为前缀。...().insert(articleUri, contentValues); Cursor articleCursor = getContentResolver().query(articleUri...().insert(authorUri, contentValues); Cursor authorCursor = getContentResolver().query(authorUri

    63620

    android学习笔记----内容提供者

    [] projection, String selection, String[] selectionArgs, String sortOrder) 查询给定URI,结果集返回一个Cursor。...传递null将返回给定URI所有行。 selectionArgs String: 您可以选择中包含?s,它将被selectionArgs中值替换,它们将在选择中出现。这些值将绑定为字符串。...,所以可以直接通过内容解析者进行访问 // 拿到内容解析者,直接通过上下文获取 public void click(View view) { switch (view.getId...及以上是无法实现了,4.4之前还可以,android为了防止第三方软件拦截短信和乱写入短信记录,4.4之后,设置了只有默认短信应用才会有权限操作短信数据库。...,所以可以直接通过内容解析者进行访问 // 拿到内容解析者,直接通过上下文获取 public void click(View view) { switch (view.getId

    41120

    Android-图片压缩(质量压缩和尺寸压缩)

    原理是:通过算法扣掉(同化)了 图片中一些某个点附近相近像素,达到降低质量 减少 文件大小目的。 应用场景:图片上传。 3.什么是尺寸压缩?...图片尺寸压缩是指:按照一定倍数对图片减少单位尺寸像素值,可以改变图片在内存中大小,不改变图片在磁盘中大小。 原理是:通过减少单位尺寸像素值,真正意义降低像素值。...image.png 由于我们这里只讲图片压缩,关于再次之前如何获取图片返回URI和高低版本适配7.0等问题,我们这里不说,我之前写过文章,Android-图片选择,裁剪,压缩,适配高版本,这里就不说了...补充 质量压缩无法避免oom,但可以改变图片在磁盘中或者说是File文件大小,尺寸压缩可以避免OOM,但不改变图片本身大小,只改变加载是在内存中大小,即bitmap....主要就说完了,我们实际运用中可以把这两个方法作为工具类,随时调用。

    3.5K70
    领券