Android 文件打开失败检查步骤
Android开发过程中,难免会出现路径找不到的异常,明明指定路径下的文件是存在的。
我们当然知道这可定是个极简单的问题,但往往因为排查思路不清晰,总是搞的异常郁闷。
本文记录常用的文件路径找不到的排查思路,以作备忘。
步骤
- 检查项目中的sdcard读写权限是否在清单中申明?
- 检查用户权限是否被允许,去setting —-> app 中去查看。这一点对于不经常遇到的人来说,是最容易忘的,最好在代码中动态申请权限,示例代码如下:
private void permission() {
if (!(ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_EXTERNAL_STORAGE) ==
PackageManager.PERMISSION_GRANTED)) {
ActivityCompat.requestPermissions(this,
new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
}
}
从Android6.0开始,Android系统的权限加强。程序员们仅仅在Manifest中申请应用权限已经远远不够了,有些权限(比如文件读写)必须得到用户同意。
- 当targetSdkVersion 27 时,读取路劲时出现permission denied。此时各种权限都已申明,将targetSdkVersion 24后,就可以读取了,应该是不同版本权限要求的原因。