写了一个音乐播放器,播放的时候,会出现这样的问题:比如说我点击第三首歌曲,结果没有播放第三首歌曲,而直接播放了第四首歌曲。看了一下日志。发现报错:MediaPlayer: Couldn‘t open /storage/emulated/0/kgmusic/download/陈小春 - 独家记忆.mp3: java.io.FileNotFoundException: No content provider: /storage/emulated/0/kgmusic/download/陈小春 - 独家记忆.mp3
详见截图:
大家也可以搜一下MediaPlayer:error(-38,0)这个错误。
英语好的可以看一下这个链接。
截图给大家看看:
红框里的英文大家可以仔细看一下:说的是MediaPlayer - java.io.FileNotFoundException: No content provider这个bug可能会发生在安卓7.0(牛轧糖)或者更高的版本上。如果你把你的app运行在安卓7.0(牛轧糖)或者更高版本的安卓系统上,你最好使用Content Provider。
PS:我的app运行在了7.0的手机上,而且我也没用Content Provider。所以导致了这个问题。
我的音乐播放器的module的build.gradle如下图所示,最低版本是11,目标版本是22,编译版本是23,把这个音乐播放器运行到安卓7.0的小米手机上时,就会出现上面的bug。
This issue occurs in Nougat or higher version if you are using nougat or higher version you have to use Create an XML file (for example file_provider_paths.xml) in XML resources folder:
Now define a provider in your ApplicationManifest.xml, add this provider inside application node:
Now get the shared file URI, and use it in your application where you need it.
|