最近自己写插件时,总是发现packageManager.getPackageArchiveInfo 返回为null,但是自己权限都打开,加载路径也是正确的,到底是为什么呢?
packageInfo =packageManager.getPackageArchiveInfo(path,
PackageManager.GET_ACTIVITIES );
原来path写法有问题,之前的写法:
Environment.getExternalStorageDirectory()+"/Download/lh.apk"
可是上面的写法在Android9.0 之后就废弃了(为了提高用户隐私,不建议直接访问共享/外部存储设备),并且不再返回可访问的文件。
那怎么写了,官方推荐使用:
context.getExternalFilesDir(String type)
修改之后,返回就正确了。