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?
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
@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
@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