如何讓 system app 訪問 sd 卡
阿新 • • 發佈:2019-01-22
一、因為KK版本上Google規定應用需要擁有android.permission.WRITE_MEDIA_STORAGE許可權才能寫副卡,所以若三方沒有按照要求申請到許可權,而又要寫副卡就會出現操作失敗。
二、應用要擁有android.permission.WRITE_MEDIA_STORAGE的條件:1、AndroidManifest.xml中有申請android.permission.WRITE_MEDIA_STORAGE
<uses-permission android:name = "android.permission.WRITE_MEDIA_STORAGE" />
如果沒有申請,需拿原始碼新增,否則該應用是肯定無法寫副卡的。
2、要讓這個許可權申請成功,必須要採用下面2種方法之一
因為android.permission.WRITE_MEDIA_STORAGE屬於SystemOrSignature level的permission,必須採用下面兩種方法之一才能申請成功。
1). 應用籤系統簽名
2). 將應用預置到/system/priv-app/下,即在對應的Android.mk中新增如下語句:
LOCAL_PRIVILEGED_MODULE := true
三、對比測試需注意事項:1、該對比機並沒有被root
2、所做的操作確實是寫副卡
3、要寫的檔案並非是卡/Android/data/[packagename]下。因為google規定Android/data/[packagename]是對應package的私有目錄,對應的package是有權讀寫的。