私は現在、更新マネージャーとして機能するアプリを開発しています。これまでのところ、他のアプリをインストールまたは更新するたびに、このアプリはうまく機能しています。これらのアプリはすべて data/app フォルダーにインストールされており、installpackage() メソッドで android.content.pm.IPackageManager クラスを使用してインストールしました。
内部メモリ (1 GB)、内部 SDCARD (4 GB)、および外部 SD カード (8 GB) を備えたコスト ROM に取り組んでいます。すべてのアプリが data/app フォルダーにインストールされているため、内部メモリの容量が不足しています! 同じ installpackage() メソッドを使用して、アプリを外部 SDCARD (または内部) にインストールできるかどうか疑問に思っていました。
アプリのインストール方法は次のとおりです。
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カードにアプリケーションをインストールするために同じことを行うことができないのではないかと疑い始めています。何か提案はありますか?そうでない場合、インストール後にアプリをプログラムでSDカードに移動できますか?