Установщик пакетов не открывает файл при использовании типа намерений application / vnd.android.package-archive - PullRequest
0 голосов
/ 25 апреля 2019

Это мой код:

i.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
i.setDataAndType(Uri.parse(FileUtil.getPublicDir(Environment.DIRECTORY_DOWNLOADS).concat("/Vertretungsplan.apk")), "application/vnd.android.package-archive");
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

Однако, когда я запускаю действие, Установщик пакетов не будет отображаться как "открытый с помощью".

Ответы [ 2 ]

0 голосов
/ 25 апреля 2019

Это недействительно Uri.A Uri имеет схему;значение, которое вы пытаетесь проанализировать, не имеет значения.

На Android 6.0 и ниже используйте Uri.fromFile() для создания Uri для вашего файла.

На Android 7.0+, так какСхема file запрещена, вам необходимо настроить FileProvider для своего приложения и использовать Uri из него.К сожалению, не будет работать для Android 6.0 и ниже, так как установщик пакета не мог обработать значения content Uri в то время.Итак, вам нужно проверить версию Android, на которой работает ваше приложение, и использовать соответствующий подход.

0 голосов
/ 25 апреля 2019

Добавьте REQUEST_INSTALL_PACKAGES разрешение к вашему манифесту

...