[英]External storage issue with mounted state and correct permission
在Samsung Galaxy Mini(Android 2.3)上,我無法通過Eclipse安裝100+ MB的APK(總是有些錯誤,並沒有真正的幫助;通常它說的是不足的存儲空間,即使外部有300+ MB的可用空間在這種情況下,即存儲在SD卡上,並且安裝位置設置為PREFER_EXTERNAL。
因此,我通過USB連接將APK復制到SD卡,然后從PC卸載了USB。 然后使用文件管理器打開APK,然后安裝它。 在安裝之前, 它不會顯示 WRITE_EXTERNAL_STORAGE權限以待批准(也許這是問題嗎?)。
當我運行它時,嘗試寫入外部存儲中的文件夾( getExternalFilesDir(null)
)時出現以下錯誤:
“無法創建外部文件目錄”
它在logcat中顯示兩次。
我在做任何事情之前都使用Environment.getExternalStorageState()
,它MEDIA_MOUNTED
正確返回MEDIA_MOUNTED
。 它在logcat與“無法創建...”日志出現的位置相同的位置登錄。 重新啟動電話無濟於事,並且切換PC的USB連接也不起作用(在其他stackoverflow主題中已提到)。
我的Android清單的開頭如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:installLocation="preferExternal"
package="com.example.apps.iik"
android:versionCode="1"
android:versionName="1.0.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<uses-feature android:name="android.hardware.screen.landscape" />
從APK安裝它不顯示write_external_storage權限是否正常? 也許在沒有此權限的情況下安裝了該應用? 但是據我在其他設備上注意到的那樣,它根本無法將外部存儲識別為“已安裝”。
在Android 2.3中,許多OEM都為低存儲設置了自己的閾值(如果APK大小* 4>可用存儲,Moto設備將不允許您從存儲中安裝。)
如果通過某個文件管理器或應用安裝程序應用安裝,則可能不會顯示任何權限。 但是,您始終可以通過轉到設置>應用,然后單擊您的應用來查看權限。
另外,在寫入文件之前,請先通過執行file.createNewFile()
進行創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.