使用MediaMetadataRetriever的setDataSource方法抛出IllegalArgumentException异常

最近在使用MediaMetadataRetriever的setDataSource方法时,老是抛出IllegalArgumentException异常,上网查了一番,发现出现这个异常的原因无非就是两大点:

1、文件路径不对 

2、文件访问权限不够

结合这两点原因我排查了一下,发现确实是我的权限不够导致的,因为我测试时使用的Android 10.0的手机,虽然我已经动态申请了权限,但是Android10对权限的管理更加严格了,主要有以下两点:

1、权限按单个分配,不再按组分配,以前申请了读存储卡权限,即可获得同组的读写权限,现在需要逐个申请

2、存储卡读写权限需要在Application的Manifest清单中声明

Android10.0 需要在AndroidManifest.xml文件中application出加上 android:requestLegacyExternalStorage="true" 

你可能感兴趣的:(Android,异常解决)