Обновление APK программно пропускает установку приложения через раз - PullRequest
0 голосов
/ 09 октября 2018

У меня есть приложение, которое создает намерение и просит пользователя обновить APK.

    // Fetch file from updates folder and install
    File directory = BreakfastApp.getConfigFile(BreakfastApp.APP_UPDATES_DIRECTORY);
    File installFile = new File(directory, BreakfastApp.APP_UPDATE_FILE);
    LOG.debug(installFile.getAbsolutePath());

    Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
    intent.setData(FileProvider.getUriForFile(requireActivity(), getContext().getApplicationContext().getPackageName(), installFile));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_GRANT_READ_URI_PERMISSION);
    startActivity(intent);
    requireActivity().finish();

Теперь этот код отлично работает при любой другой установке.Это повторяется.Как только мой код выполняет этот вызов, он показывает всплывающее окно для установки приложения, затем он говорит «Приложение установлено» и просит пользователя открыть или нажать «Готово».Если я снова проверяю приложение и повторяю попытку, оно пропускает всплывающее окно установки и переходит непосредственно к «Установленное приложение», затем «Готово» и «Открыть».Если я нажму «Открыть» и попробую снова, он снова заработает.

Интересно, если кто-то знает, почему это происходит.PS Это для Nougat и выше, но у меня была похожая проблема перед обновлением до Android 24+.PSS Я дал следующее разрешение и добавил провайдера, как я полагаю

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...