4

我有一个从私人服务器下载的应用程序,它可以在大多数手机上安装,但我在 HTC Desire C 上安装它时遇到问题。手机没有 SD 卡。我四处搜索,发现一个清单设置应该暗示内部存储,或者说至少没有偏好安装应用程序的位置。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.carefreegroup"
    android:versionCode="1"
    android:versionName="1.0"
    android:installLocation="auto" >

但是,这不起作用。

我怎么能告诉android应用程序必须安装在内部存储器上

谢谢马特

4

3 回答 3

7

在清单中设置

android:installLocation="internalOnly"

这会将应用程序安装到内部存储器中,如果内部存储器中没有空间,则根本不会安装它

http://developer.android.com/guide/topics/manifest/manifest-element.html

于 2013-01-29T11:31:28.273 回答
2

属性android:installLocation可以有以下可能的值。

internalOnly:应用程序必须仅安装在内部设备存储上。如果设置了此项,应用程序将永远不会安装在外部存储上。如果内部存储已满,则系统将不会安装该应用程序。如果您未定义 android:installLocation,这也是默认行为。

auto:应用程序可能安装在外部存储上,但系统默认将应用程序安装在内部存储上。如果内部存储已满,则系统会将其安装到外部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储。

preferExternal:应用程序首选安装在外部存储(SD 卡)上。无法保证系统会遵守此请求。如果外部媒体不可用或已满,或者应用程序使用前向锁定机制(外部存储不支持),则应用程序可能安装在内部存储上。安装后,用户可以通过系统设置将应用程序移动到内部或外部存储。

于 2013-01-29T11:34:01.213 回答
1

根据文档,如果您未设置该首选项,则该应用程序将安装在内部存储上并且不可移动。

于 2013-01-29T11:28:43.297 回答