2

我目前正在開發一個作爲更新管理器的應用程序。到目前爲止,每當我安裝或更新任何其他應用程序時,該應用程序都很好用所有這些應用程序都已安裝在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卡嗎?

+0

很抱歉忘了說:INSTALL_REPLACE_EXISTING = 0x00000002; INSTALL_INTERNAL = 0x00000010; – Cacique

回答

4

使用此代碼

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     android:installLocation="preferExternal" 
     ... > 
+0

使用此後,我仍然無法看到我的手機磁盤 –

+0

後給android:installLocation =「preferExternal」的應用程序文件夾應用程序將安裝在您的外部存儲器,即SD卡,檢查您的文件夾在外部存儲器。 –

1

如何在外部SD卡安裝應用程序?

有沒有辦法做到這一點編程!(到現在爲止的Android 7.0)

您必須AndroidManifest.xml文件中定義屬性android:installLocation

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    android:installLocation="preferExternal" 
    ... > 

指定此值之一:

「internalOnly」必須安裝該應用程序僅限於內部的 設備存儲。如果已設置,應用程序永遠不會在外部存儲器上安裝 。如果內部存儲已滿,則 則系統將不會安裝該應用程序。如果您未定義android:installLocation,這也是 的默認行爲。

「自動」應用程序可以安裝在外部存儲,但 系統將通過 默認安裝在內部存儲的應用程序。如果內部存儲器已滿,則系統將在外部存儲器上安裝 。安裝後,用戶可以通過系統 設置將 應用程序移動到內部或外部存儲器。

「preferExternal」該應用程序更喜歡安裝在外部存儲器(SD卡)的 上。系統不會保證 符合此要求。如果外部媒體不可用或已滿,應用程序可能會安裝在內部 存儲器中。一旦安裝,用戶可以通過系統設置將應用程序移動到內部或外部存儲設備 。

更多information

相關問題