移动到SD卡
我知道移至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