誤區(qū)
- 一直以為Android的沙箱之間是不能相互訪問文件的,今天在驗證某個問題時進(jìn)行了測試,發(fā)現(xiàn)在未root設(shè)備上,不同沙箱之間可以通過寫死路徑的方式判斷文件是否存在,但是不能進(jìn)行讀寫。即:
File.exists()可以進(jìn)行正常判斷,但是File.canRead()返回為false。但是當(dāng)設(shè)置為同一UID之后,相互之間是可以進(jìn)行讀寫。
該方案可以用于驗證是否安裝某個應(yīng)用。避免5.0之后的getInstallPackage獲取不到其他安裝包的問題。但是這種方式的缺點在于要提前知道文件的全路徑。