Android编程实现将应用强制安装到手机内存的方法

2019-12-10 19:44:59刘景俊
易采站长站为您分析Android编程实现将应用强制安装到手机内存的方法,分析了Android程序安装的相关属性设置技巧及注意事项,需要的朋友可以参考下  

本文实例讲述了Android编程实现将应用强制装到手机内存的方法。,具体如下:

在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置.

android:installLocation隶属于AndroidManifest.XML中的manifest节点.如下所示:

<manifest xmlns:android="http://www.easck.com/apk/res/android"
   package="string"
   android:sharedUserId="string"
   android:sharedUserLabel="string resource" 
   android:versionCode="integer"
   android:versionName="string"
   android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
 . . .
</manifest>

android:installLocation可以设置为"auto"、"internalOnly"、"preferExternal"三个值中的任何一个.

auto:程序可能被安装在外部存储介质上(例如:SD Card),但是默认会被安装到手机内存中.当手机内存为空时,程序将被安装到外部存储介质上.当程序安装到手机上后,用户   可以决定把程序放在外部储介质还是内存中.

internalOnly:默认值.当设置为该值时,程序只能被安装在内存中,如果内存为空,则程序将不能成功安装.

preferExternal:将程序安装在外部存储介质上,但是系统不保证程序一定会被安装到外部存储介质上.当外部存储介质不可以或空时,程序将被安装到内存中.程序使用了for   ward-locking机制时也将被安装到内存中,因为外部存储不支持此机制.程序安装后,用户可以自由切换程序应该在外部还是内部存储介质上.

注意:当程序使用了Google Play的Copy Protection特性时,只能安装到内存中.

当程序被安装到外部存储介质时:

① .apk文件将被移动到外部存储介质上,但是程序的数据仍然会在内存中
② 保存.apk文件的容器将会使用一个随机生成的密钥进行加密,这样只有安装该程序的设置可以使用存在外部存储介质上的数据.