我知道移动到sd卡功能可以从Android2.2中获得,我想知道在我的程序中是否有方法检测设备是否支持移动到sd卡功能,如果它支持的话,它可以被移动,如果不支持,什么都不会发生(将在电话内存中)
我的主要问题是我的应用程序支持从1.6到以上的所有设备,我不能使用
android:installLocation=“汽车”
因为它在2.2版下面不被识别。那么,我是否必须以编程的方式进行检查和启用?如果需要,如何进行?希望你能理解我的问题。
谢谢。
发布于 2011-12-14 07:35:50
为了允许在外部存储上安装并保持与低于API级别8的版本兼容:
<manifest>元素中包含了值为"auto“或"preferExternal”的android:installLocation属性。android:minSdkVersion属性保留为“8”,并确保应用程序代码只使用与该级别兼容的API。< code >H29H 110为了编译应用程序,将构建目标更改为API级别8。这是必要的,因为较早的auto库不理解android:installLocation属性,并且在应用程序存在时不会编译它。H 212G 213当应用程序安装在API级别低于8的设备上时,将忽略android:installLocation属性,并将应用程序安装在内部存储上。
安卓的Backward Compatibility就是这么说的。
还请参阅Applications That Should NOT Install on External Storage和Applications That Should Install on External Storage
发布于 2012-09-17 14:05:13
虽然编程功能是从2.2和更高,实际移动到sd功能是不可能在每一个手机,即使有一个内部或甚至外部SD卡!
在ICS和JB现在,操作系统可以决定将应用程序移动到SD本身,而用户没有任何选择手动移动应用到SD卡!
这一行为已经在Galaxy,Galaxy,Galaxy 2,变压器和Iconia A500上进行了测试,包括ICS和JB!他们都没有移动的超sd按钮!
因此,如果用户能够在运行时将应用程序移动到SD,那还是很有趣的。
发布于 2011-12-14 07:36:12
你可以用这个旗子。只需尝试根据api级别8和更高级别编译即可。
确保android:minSdkVersion被正确地设置为4。
较旧的平台将忽略android:installLocation,而较新的平台将尊重这一点。
只为识别新标志而进行的编译。
移动到sd卡是从2.2及以上可用,所以你不必显式地检查它。
https://stackoverflow.com/questions/8500839
复制相似问题