在安卓11上提示用户时,如何获得安装结果



我正在Android 11上构建一个没有任何UI的后台服务应用程序。现在我正在使用下面的代码来请求用户同意安装apk并获得许可;SYSTEM_ ALERT_;

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
context.startActivity(intent);

有了这个代码,当有新的apk出现时,该程序将能够提示用户同意安装。但有人能告诉我如何才能得到用户选择的结果以及安装成功还是失败的结果吗?我知道我们可以使用startActivityForResult,但由于这是一个后台服务应用程序,我无法使用它,因为它没有任何活动。

我不知道这对你来说是否为时已晚。我用来获取回调的是packageInstaller.registerSessionCallback(newPackageInstaller.SessionCallback({}。您可以在其中实现一组overriden方法,这将帮助您监控进度。我再次使用这个内部活动,并且还没有在服务中尝试过。此外,尽管我接到了用户取消弹出窗口的电话,但我无法成功安装更新。这些是我的观察结果。希望这能给你一些见解。

最新更新