[BUG] 在Pixel 2 API 29模拟器上,系统文件管理器传的URI会被认为是unknown uri
能正常拿到content scheme的URI,authority为com.android.externalstorage.document,最终采用default分支获得songs,但获得的songs列表size为0,bug定位中。
@cyanlink 我测试了下能正常开始播放
@rRemix 我刚才debug了一下,MusicUtils#playFromUri首先走到最后输出unknown uri之前,songs数组由于case default分支里的代码不为空,下面针对externalstorage.documents的代码根本没有执行
加个case分支吧。这种类似的问题我之前跟过一些,各种rom传过来的uri五花八门的。遂放弃,哈哈。
@rRemix 这块是不是可以重构一下整个换为ContentResolver体系?我可以再看看。毕竟content scheme Uri本意就是要交给系统去分给不同Provider,比如ZArchiver也有自己一个URI Authority用default逻辑能work,小米那个自带管理器叫什么xxxxx.myprovider(这怕不是实习生不知道从哪抄的)也能work,但是这回这个还是google自带模拟器的(可能也就是pixel上原生系统的),碰巧就不行,得靠monkey patch。
@cyanlink 可以,不过等我把自定义背景和无缝播放做完吧。现在这两个需求反馈的人比较多。