1. 程式人生 > >如何讓 system app 訪問 sd 卡

如何讓 system app 訪問 sd 卡

一、因為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是有權讀寫的。