Android如何判断应用程序是安装在手机内存中还是SD卡中的呢? 并且可以将手机内存中的应用移到SD卡中,将SD卡中的应用移到手机内存中?不知道哪位大牛遇到过类似的问题,能否分享一下你的方案,谢谢。。

解决方案 »

  1.   

        /**
         * 判断包名所对应的应用是否安装在SD卡上
         * @param packageName
         * @return, true if install on SD card 
         */
    public static boolean isInstallOnSDCard(String packageName) {
    PackageManager pm = LauncherApplication.getApp().getPackageManager();
    ApplicationInfo appInfo;
    try {
    appInfo = pm.getApplicationInfo(packageName, 0);

    if ((appInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {
    return true;
    }
    } catch (NameNotFoundException e) {
    e.printStackTrace();
    } return false;
    }移动没做过:)