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                  

어떤 아이디어? 패키지 매니저에서

+1

에 사용됩니다. 자세한 내용은 [이 호] (https://code.google.com/p/android/issues/detail?id=205827)를 참조하십시오. – CommonsWare

+0

@CommonsWare, 안드로이드 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

+0

@manyobject : 아, 나는'installPackage()'가 설치 프로그램 활동을 호출하는 편리한 래퍼 일 뿐이라고 생각했다. 예, 저는'ACTION_INSTALL_PACKAGE'로 테스트했습니다. – CommonsWare

답변

0

installPackage는`FileProvider`의 접근 방식은`ACTION_INSTALL_PACKAGE`를 사용 NDP4로 시작하는 나를 위해 일한 N