如果要下载文件到SD卡、或者配置了缓存数据到SD卡,你必须要考虑到Android6.0及以上系统的运行时权限,推荐你看这篇文章:Android6.0运行时权限最佳实践

因为要请求网络、监听网络状态、从SD卡读写缓存、下载文件到SD卡等等,所以需要在manifest.xml中配置以下几个权限,如果你已经配置过了这些权限,请不要重复配置:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />