首页 > Android > Android设定应用不能移动到SD卡

Android设定应用不能移动到SD卡

2012年2月16日 发表评论 阅读评论

今天为我们提供定制应用的第三方软件商给我提了一个需求,问能不能让应用在我们的系统上安装以后用户不能移动到SD卡。这是个很费神的问题,以前曾经特意去研究了一下这个问题,看了半天的源码,还是没有发现Google在这方面提供的接口。现在既然第三方提出了这样一个需求,不得不重新再好好去研究一下源码,没想到真的可以到达这样的目的。

因为现在在家没有Android源码,源码中定义这个的地方也就没法说了,直接说怎么去设置吧!其实很简单,在应用的menifest文件中指定就可以了,在 <manifest> 元素中包含android:installLocation 属性,设置其值为"internalOnly"即可,如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="internalOnly"
    ... >

android:installLocation 还有另外两个属性值:"preferExternal"和"auto",根据字面意思大概也能明白是什么意思了,还是说明如下:

  • 如果你定义了 "preferExternal",意味着你要求你的应用安装至扩展存储,但是系统不能保证应用肯定会安装至扩展存储。如果扩展存储没有空间了,系统将把应用安装到内置存储。用户可以在两个位置之间移动你的应用。
  • 如果你定义了 "auto",表示你的应用可能会安装在扩展存储,但是对安装位置没有特别的偏好。系统将基于很多因素决定你的应用安装到哪里。用户同样可以将应用在两个位置之间移动。
anyShare分享到:
          
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.