最近自己寫插件時,總是發現packageManager.getPackageArchiveInfo 返回爲null,但是自己權限都打開,加載路徑也是正確的,到底是爲什麼呢?
packageInfo =packageManager.getPackageArchiveInfo(path,
PackageManager.GET_ACTIVITIES );
原來path寫法有問題,之前的寫法:
Environment.getExternalStorageDirectory()+"/Download/lh.apk"
可是上面的寫法在Android9.0 之後就廢棄了(爲了提高用戶隱私,不建議直接訪問共享/外部存儲設備),並且不再返回可訪問的文件。
那怎麼寫了,官方推薦使用:
context.getExternalFilesDir(String type)
修改之後,返回就正確了。