我有一个创建意图并要求用户更新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();
现在,此代码可在其他所有安装中正常运行。这是可重复的。一旦我的代码发出调用,它将显示弹出窗口以安装该应用程序,然后显示“已安装应用程序”,并要求用户打开或单击“完成”。如果我再次降级该应用程序并重试,它将跳过安装弹出窗口,并直接转到“已安装应用程序”,然后单击“完成并打开”。如果我单击“打开”,然后重试,它将再次起作用。
想知道是否有人知道为什么会发生这种情况。 附言这适用于Nougat及更高版本,但在更新至Android 24+之前,我遇到了类似的问题。 P.S.S.我已授予以下权限,并向
添加了我想提供的内容