我知道移至SD卡功能,可從Android 2.2的 我想知道有沒有辦法在我的程序來檢測,如果設備支持移動到SD卡功能,如果它的支持可以否則,如果移動不支持比什麼都不會發生(會在手機內存)移動到SD卡
我的主要問題是我的應用程序支持以上所有設備從1.6到了,我不能使用
安卓的installLocation =「汽車「
因爲... e它在2.2以下版本中不被認可。那麼我必須做檢查和啓用編程,如果是的話如何?我希望你能理解我的問題。
謝謝。
我知道移至SD卡功能,可從Android 2.2的 我想知道有沒有辦法在我的程序來檢測,如果設備支持移動到SD卡功能,如果它的支持可以否則,如果移動不支持比什麼都不會發生(會在手機內存)移動到SD卡
我的主要問題是我的應用程序支持以上所有設備從1.6到了,我不能使用
安卓的installLocation =「汽車「
因爲... e它在2.2以下版本中不被認可。那麼我必須做檢查和啓用編程,如果是的話如何?我希望你能理解我的問題。
謝謝。
爲了允許對外部存儲裝置,並保持與版本比API級別8兼容的下:
附上android:installLocation
屬性與所述<manifest>
元件的「auto
」或「preferExternal
」值。
讓你的android:minSdkVersion
屬性保持原樣(小於「8」),並確保你的應用程序代碼只使用與該級別兼容的API。
爲了編譯您的應用程序,請將您的構建目標更改爲API級別8.這是必要的,因爲較早的Android庫不理解android:installLocation
屬性,並且在應用程序出現時不會編譯它。
當應用程序被安裝在設備上用API級別低於8,該android:installLocation
屬性被忽略並且該應用程序被安裝在內部存儲設備。
這是Android的Backward Compatibility說。
另請參閱Applications That Should NOT Install on External Storage 和Applications That Should Install on External Storage
那麼你可以使用此標誌。只要嘗試針對api 8級以上的版本進行編譯。
確保android:minSdkVersion
正確設置爲4
老平臺將忽略android:installLocation
和新平臺將兌現這一點。
僅用於識別新標誌的編譯。
移至SD卡可以從2.2及以上,所以你不必明確地進行檢查。
這是一個OS特定功能不特定於設備的。 您應該在檢查操作系統版本。 如果SD卡在設備中不可用,它將不會自動顯示移動選項。
雖然編程功能可以從2.2或更高版本獲得,但實際轉移到sd功能並不是每個手機都可以使用,即使存在內部甚至外部SD卡!
現在,在ICS和JB中,操作系統可以決定自行將應用程序移動到SD上,而用戶無權手動將應用程序移入/移出SD卡!
此行爲已在Galaxy Nexus,Galaxy S3,Galaxy Tab 2,Transformer和Iconia A500上與ICS和JB一起測試過!他們沒有一個有移動的標準按鈕!
因此,瞭解用戶是否可以在運行時將應用程序移動到SD仍然很有趣。
謝謝。這工作。我必須通過編輯項目屬性(右鍵單擊Eclipse中的項目)來更改構建目標,並選擇至少具有API級別8的目標 – 2011-12-14 08:04:39