4
ビルドツールバージョン24とN個のイメージ(npd56n)を持つAndroidデバイスを使用している場合、PackageManager#installPackageを使用してパッケージをインストールできません。PackageManager#installPackageがAndroidで動作しないN
file:
スキームのURIがメソッドに渡された場合、-3が返されます。これはINSTALL_FAILED_INVALID_URIと見なされます。 URIはFileProvider(content:
スキーム)を使用して作成
がメソッドに渡され、例外がスローされます。
Caused by: java.lang.UnsupportedOperationException: Only file:// URIs are supported
任意のアイデア? PackageManagerで
に廃止されました。詳細については、[この問題](https://code.google.com/p/android/issues/detail?id=205827)をご覧ください。 – CommonsWare
@CommonsWare、Android N [PackageManagerソース](https://github.com/android/platform_frameworks_base/blob/nougat-dev/core/java/android/app/ApplicationPackageManager.java)は依然として明示的に非 ' file:// 'URIs。 'FileProvider'は' content:// 'URIを提供します。おそらく 'PackageManager.installPackage'への(反射的な)呼び出しではなく、' Intent'によるインストールを指していますか? – manyobject
@manyobject:ああ、私は、 'installPackage()'はインストーラアクティビティを呼び出す便利なラッパーであると思っていました。はい、私は 'ACTION_INSTALL_PACKAGE'でテストしていました。 – CommonsWare