如何确认一个应用程序的安装位置
2012-08-29 14:51
190 查看
[Android Version]
6573 Android V2.3
6575 Android V2.3/V4.0
[Description]
有些应用能安装到SD卡上,有些不能,这其中有一定规则。如何判断?
[Solution]
Google 默认 PackageManager 管理安装包的机制如下:
在 AdroidManifest.xml 里面定义安装位置可以有四种情况:
1. 如果没有定义安装位置,表示安装在手机内存上;
2. android:installLocation = "auto",表示先查看手机内存是否足够,如果够就安装在手机内存上,不够就安装在 T 卡上;
3. android:installLocation = "internalOnly",表示安装在手机内存上;
4. android:installLocation = "preferExternal" ,表示安装在 T 卡上;
可以按照如下方式更改,这样用户就能自己选择安装位置:
打开 alps/frameworks/base/packages/SettingsProvider/DatabaseHelper.java
745 行改为 loadSetting(stmt, Secure.SET_INSTALL_LOCATION, 1);
1111 行改为 loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 1);
这样更改过后,贵司就能在 Settings --> Applications 里面能看到选项.
注意:这样更改过后有个限制,如果 apk 的 AndroidManifest.xml 里面定义 android:installLocation
= "internalOnly",那么无论用户选择安装在什么地方,该apk 都会安装到手机上,这样做的好处是避免程序运行错误,因为定义android:installLocation = "internalOnly" 的 apk 一般要安装到手机内存上才能正常运行。
6573 Android V2.3
6575 Android V2.3/V4.0
[Description]
有些应用能安装到SD卡上,有些不能,这其中有一定规则。如何判断?
[Solution]
Google 默认 PackageManager 管理安装包的机制如下:
在 AdroidManifest.xml 里面定义安装位置可以有四种情况:
1. 如果没有定义安装位置,表示安装在手机内存上;
2. android:installLocation = "auto",表示先查看手机内存是否足够,如果够就安装在手机内存上,不够就安装在 T 卡上;
3. android:installLocation = "internalOnly",表示安装在手机内存上;
4. android:installLocation = "preferExternal" ,表示安装在 T 卡上;
可以按照如下方式更改,这样用户就能自己选择安装位置:
打开 alps/frameworks/base/packages/SettingsProvider/DatabaseHelper.java
745 行改为 loadSetting(stmt, Secure.SET_INSTALL_LOCATION, 1);
1111 行改为 loadSetting(stmt, Settings.Secure.SET_INSTALL_LOCATION, 1);
这样更改过后,贵司就能在 Settings --> Applications 里面能看到选项.
注意:这样更改过后有个限制,如果 apk 的 AndroidManifest.xml 里面定义 android:installLocation
= "internalOnly",那么无论用户选择安装在什么地方,该apk 都会安装到手机上,这样做的好处是避免程序运行错误,因为定义android:installLocation = "internalOnly" 的 apk 一般要安装到手机内存上才能正常运行。
相关文章推荐
- android如何确认一个应用程序的安装位置
- android如何确认一个应用程序的安装位置
- 如何确认一个应用程序的安装位置
- android获取手机内部存储空间和外部存储空间 && 如何确定一个应用的安装位置
- 解决点击一个按钮如何打开一个已安装好的应用程序
- 解决Installer重新安装补丁错误-"无法打开此修补程序包。请确认该修补程序包存在,并且您可以访问它,或者与应用程序供应商联系,以确认这是否是一个有效的 Windows Installer 修补程序包。"
- 如何创建一个 Windows 服务应用程序的安装项目在 Visual C# 中
- (三十一)工具方法:获得应用程序包名/安装apk/如何获得当前栈顶的Activity/android如何实现点击一个按钮进入指定网页
- 获取手机内外部存储空间的参数 && 如何决定一个apk的安装位置 && APK安装过程及原理详解
- Q:请问如何将两个应用程序包装在一个安装程序中,以简化日后的安装步骤?
- 获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置
- (转)获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置
- 获取android手机内外部存储空间的参数 && 如何决定一个apk的安装位置 && APK安装过程及原理详解
- Linux下如何查看一个下载的包被安装在什么位置
- 如何用VB.Net创建一个三层的数据库应用程序(转贴)
- Andriod:如何卸载模拟器上已经安装的应用程序?
- 根据应用存放的位置,如何动态的启动应用的安装界面。
- 如何在CentOS上安装一个2048小游戏
- Ubuntu11.04中如何将pycharm添加到系统的“应用程序”菜单里 (pycharm已成功安装)
- Android 在一个应用中如何启动另外一个已安装的应用