2012-02-29 63 views
3

訪問android的媒體存儲需要任何特定權限嗎?我寫了一個可以訪問所有用戶照片的測試應用程序 - 但我發現這種行爲出乎意料。它真的好像應該有一些權限來訪問這些數據。與所述設備的相機拍攝訪問媒體存儲的Android權限

+0

檢查堆棧跟蹤,如果您的應用缺少它會被寫入權限。 – Snicolas 2012-02-29 21:09:47

+0

我不認爲他說他的應用程序不起作用。他在想爲什麼允許應用程序無權查看用戶圖像。 – FoamyGuy 2012-02-29 21:27:37

+0

@Tim正好。對我來說,似乎很奇怪,當幾乎所有其他個人數據都需要權限時,照片不需要任何權限。 – Ralphleon 2012-03-01 05:07:42

回答

2

圖像(和視頻)被存儲在外部存儲裝置(在大多數設備SD卡)通常它們被存儲在sdcard/dcim/Camera/

Android上不存在來自外部存儲讀取要求的權限,這意味着安裝在設備上的任何應用程序都可以訪問使用設備拍攝的照片。

但是寫入外部存儲器並不需要權限,因此如果應用程序想要刪除或更改其中一個文件,則需要擁有該權限。

雖然,老實說,不幸的是我認爲權限是一個有爭議的問題。如果有一個漂亮的圖標,並承諾令人驚歎的事情,普通大衆會安裝任何東西,無論它需要什麼權限。對於大多數人來說,權限頁面就是你必須向下滾動並按下安裝的東西。

7

與Android 4.4經由內容URL內容閱讀一個圖象時,我得到的logcat此錯誤消息://媒體/外部/圖像/媒體/ 123是到/ mnt/SD卡/ DCIM /相機目錄之外

... 
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=1197, uid=10072 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() 

所以較新的Android版本需要許可android.permission.READ_EXTERNAL_STORAGE