4

Bei Verwendung von Build-Tools Version 24 und Android-Gerät mit N-Image (npd56n) kann ich Package mit PackageManager # installPackage nicht installieren.PackageManager # installPackage funktioniert nicht für Android N

Wenn URI mit dem file: Schema an die Methode übergeben wird, wird -3 zurückgegeben, ich nehme an, es ist die INSTALL_FAILED_INVALID_URI.

Wenn die URI mit einem FileProvider erstellt (content: Schema) die Methode übergeben wird, wird Ausnahme ausgelöst:

Caused by: java.lang.UnsupportedOperationException: Only file:// URIs are supported                  

Irgendwelche Ideen?

+1

Der 'FileProvider' Ansatz für mich gearbeitet mit NDP4 beginnend' ACTION_INSTALL_PACKAGE' verwenden. Weitere Informationen finden Sie unter [diese Ausgabe] (https://code.google.com/p/android/issues/detail?id=205827). – CommonsWare

+0

@CommonsWare, das Android N [PackageManager-Quelle] (https://github.com/android/platform_frameworks_base/blob/nougat-dev/core/java/android/app/ApplicationPackageManager.java) scheint immer noch explizit nicht zu verbieten ' Datei: // 'URIs. Der 'FileProvider' liefert' content: // 'URIs. Vielleicht beziehen Sie sich auf die Installation über 'Intent' und nicht über (reflektierenden) Aufruf von' PackageManager.installPackage'? – manyobject

+0

@manyobject: Oh, ich hatte angenommen, dass 'installPackage()' nur ein Convenience-Wrapper zum Aufruf der Installer-Aktivität war. Ja, ich habe mit ACTION_INSTALL_PACKAGE getestet. – CommonsWare

Antwort

0

Install in Packagemanager wurde am N veraltet