java - Android在不征求用户许可的情况下安装apk

标签 java android android-intent apk android-download-manager

我正在构建一个用于信息亭模式的应用程序。该设备未 Root 。 该应用程序是设备管理员 (android.permission.BIND_DEVICE_ADMIN) 。我希望该应用程序能够在不征得许可的情况下下载其他 apk 并将其直接安装到平板电脑上。

目前我正在使用 Android DownloadManager 下载 apk: 然后:

Intent intent = new Intent(Intent.ACTION_VIEW);
                                intent.setDataAndType(Uri.fromFile(new File(filePath)), "application/vnd.android.package-archive");
                                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // without this flag android returned a intent error!
                                DownloadManagerActivity.this.startActivity(intent);

安装apk。但这会弹出一个确认窗口。 下载后还有直接安装apk的方法吗? 谢谢

更新:

我看到这篇文章: https://paulononaka.wordpress.com/2011/07/02/how-to-install-a-application-in-background-on-android/

但它不起作用,而且非常有限。

最佳答案

如果没有弹出确认,则无法安装 APK。这是设计使然的安全功能。三星等一些手机供应商提供 SAFE 或 KNOX 等选项,允许在没有提示的情况下进行安装,但它需要额外的权限,而且这些技术并非在所有 Android 设备上都可用。

关于java - Android在不征求用户许可的情况下安装apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32858037/

相关文章:

android - 在从服务开始 Activity 之前关闭所有 Activity

android - 如何从相关应用程序内部使用自定义 url 启动 Intent ?

java - Spring,组件扫描导致NamespaceHandler周围的FatalBeanException

java - 带队列的 RoundRobin 算法

java - 如何在 Swing 游戏上通知多线程事件

安卓多微调器

java - Android 和 Java 的 Retrofit REST 客户端不会终止

java - 如何使我的 Activity 透明化?

android - 如何获取 GridView 中因 KeyEvent 而获得焦点的项目的 id?

android - 如何从Google Play创建动态应用