在Android中强制安装APK

jjjwad0x  于 2023-01-15  发布在  Android
关注(0)|答案(2)|浏览(339)

enter image description here
伙计们,你能帮助这样的安装对话框不弹出..?
这使得强制安装过程

Intent intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                intent.setDataAndType(getUriFromFile(location), "application/vnd.android.package-archive");

                List<ResolveInfo> resInfoList = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
                for (ResolveInfo resolveInfo : resInfoList) {
                    String packageName = resolveInfo.activityInfo.packageName;
                    context.grantUriPermission(packageName, getUriFromFile(location), Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
                }

                intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
            } else {
                intent.setAction(Intent.ACTION_VIEW);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
                intent.setDataAndType(getUriFromFile(location), "application/vnd.android.package-archive");
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            }

            context.startActivity(intent);
qcuzuvrc

qcuzuvrc1#

不。想象一下,如果恶意软件可以强迫安装任何他们想要的东西,而不需要确认。这就是为什么你也不能。

vyswwuz2

vyswwuz22#

遗憾的是,您无法在不显示对话框的情况下进行更新。但在显示对话框并获得权限后,您可以在后台更新应用程序,并通过回调通知用户。此问题的解决方案可能对您有用。链接

相关问题