Android应用程序的默认安装位置以及是否可移动取决于开发者在其AndroidManifest.xml中的设置:<manifestxmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:installLocation="auto" android:versionName="1.0">android:installLocation的值有三个internalOnly,auto,preferExternal,缺省值为internalOnlyinternalOnly表示该应用程序只能安装到手机内部存储中。auto表示由系统决定该应用程序安装到手机内部存储中还是SD卡中。 如果有SD卡且应用程序大于5M的话,安装到SD卡中,否则安排到手机内部存储中preferExternal表示如果有SD卡就把该应用程序只能安装到SD卡中,否则安装到手机内部存储中。android:installLocationinternalOnly时,用户在"Setting"->"Application"->"Manage applications"中不能把应用程序在SD卡与内存中相互移动android:installLocationautopreferExternal时,用户在"Setting"->"Application"->"Manage applications"中可以把应用程序在SD卡与内存中相互移动另外,adb shell 中可以使用pm setInstallLocation 2命令中强行更改安装位置。2代表的是强制安装在SD卡中,0代表自动,1代表强制装到手机内部存储中。在代码中,对于高于Android 2.2的手机中,可以通过ApplicationInfo.FLAG_EXTERNAL_STORAGE标记可以判断应用是否安装在Sdcard上,对于低于Android 2.2的手机可以通过ApplicationInfo的sourceDir属性为/sdcard/开头来确定APK安装的位置。示例1PackageManager pm=ctx.getPackageManager();ApplicationInfo appInfo=pm.getApplicationInfo(pkgName,0);if((appInfo.flags &ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){ // App on sdcard System.out.println(pkgName+" install on sdcard");

更多相关文章

  1. Android系统构架分析和应用程序目录结构分析
  2. Android 应用程序之道
  3. 让Python程序在Android手机上跑起来
  4. 独家教程:用PHP编写Android应用程序
  5. Android 应用程序之间数据共享—ContentProvider
  6. 【Android布局】在程序中设置android:gravity 和 android:layout
  7. 如何退出Android应用程序
  8. Android监听手机软键盘的弹起和关闭
  9. Android之监听手机软键盘弹起与关闭

随机推荐

  1. 使用window.open将变量传递给新的HTML
  2. 你能告诉为什么javascript函数没有在prof
  3. 使用 jQuery Mobile 与 HTML5 开发 Web A
  4. 我怎么能用javascript编写这个简短的函数
  5. NodeList接口,HTMLCollection接口
  6. 纯 html 以及 js 多域名跳转
  7. 如何在div到底部对齐?
  8. Html5如何使我们开发出来的应用或页面大
  9. HTML网页与FLASH之间的传值
  10. 当点击第二次时,角的ng-点击切换。