我目前正在開發一個作爲更新管理器的應用程序。到目前爲止,每當我安裝或更新任何其他應用程序時,該應用程序都很好用所有這些應用程序都已安裝在data/app文件夾中,並且我已使用android.content.pm.IPackageManager類和installpackage()方法來安裝它們。我正在使用內部存儲器(1 GB),內部SDCARD(4GB)和外部SD卡(8GB)的成本芯片ROM上工作。由於我的所有應用程序都安裝在數據/應用程序文件夾中,所以我的內存中的空間不足!!我想知道是否可以使用相同的installpackage()方法在外部SDCARD(或內部)上安裝應用程序。如何以編程方式在外部SD卡上安裝應用程序?
這裏是我安裝的應用程序:
private Class<?> iPackageManagerStubProxyClass;
iPackageManagerStubProxyClass = Class
.forName("android.content.pm.IPackageManager$Stub$Proxy");
public void installPackage(Uri uri) throws NoSuchMethodException,
NumberFormatException, IllegalArgumentException, IllegalAccessException,
InvocationTargetException, ClassNotFoundException {
Log.i(LOG_TAG, "installing without deleting");
Method method = getMethod(iPackageManagerStubProxyClass, "installPackage");
method.invoke(packageManagerServiceProxy, uri, getPackageInstallObserver(),
Integer.valueOf(INSTALL_REPLACE_EXISTING | INSTALL_INTERNAL), "");
System.out.println(method);
}
即時通訊開始懷疑,我不能做同樣的對SD卡安裝aplications。任何消化?如果沒有,我可以在安裝後以編程方式將我的應用程序移動到SD卡嗎?
很抱歉忘了說:INSTALL_REPLACE_EXISTING = 0x00000002; INSTALL_INTERNAL = 0x00000010; – Cacique