tohodog / QSVideoPlayer

安卓视频播放器AndroidVideoplayer,架构设计优良功能丰富,支持多种解码,支持设置比例,浮窗,倍速,静音等
Apache License 2.0
302 stars 63 forks source link

在Android N 上的权限未加入 #3

Closed Pengchengistaken closed 7 years ago

Pengchengistaken commented 7 years ago

AndroidManifest.xml

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

tohodog commented 7 years ago

是的 需要自己动态申请

Pengchengistaken commented 7 years ago

你好,在Android N上,传过来给setup的URI是content://形式,打印说不支持conten://协议,请教怎么解?

tohodog commented 7 years ago

Android N 通过uri传文件有权限限制...如果该文件所在文件夹没有设置共享,别的程序读取会出错..不知道你是不是这种情况...我还没去测试

Pengchengistaken commented 7 years ago

不是这种情况,Android N要求文件共享用content URI,不再用file URI,这已经做了处理,并且我已给了qsvideoplayer system权限。

现在的情况是: 使用VLC能够打开传给他的URI(以content://开头), 使用QS播放器只能打开file://开头的URI。 如果是自己的文件浏览,可以传真实路径filePath给QS播放器来解决。 但如果是第三方的文件浏览,有可能在Android N上只传content://的URI,导致QS播放器无法播放。

我自己做的处理:

url2 = intent.getStringExtra("absPath");
           /*
            because the players is not supporting content://
            so change the url to file path
             */
            if (url.startsWith("content") && url2 != null){
                url = "file://" + url2;
            }
tohodog commented 7 years ago

emmm..已经修改了下,你试下可以不. --mi6-7.1可以播放系统的获取的content uri 修改了AndroidMedia 和 IjkMedia 两个类 你更新这两个类就ok

Pengchengistaken commented 7 years ago

Great job!