如何在没有用户干预的情况下安装存储在SD卡中的APK文件?

3
我编写了一个应用程序,它可以将apk安装到设备上。我将apk存储在SD卡中。我尝试使用以下代码:Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File("/sdcard/MyApp.apk")), "application/vnd.android.package-archive"); startActivity(intent);

但是我会得到一个窗口询问是否要安装。我不需要用户干预来安装我的.apk文件。我该怎么办?
所以我尝试使用命令行参数进行安装:Runtime.getRuntime() .exec("adb -d install /sdcard/MyApp.apk");

我遇到了空环境错误。我如何访问SD卡中的apk并安装它?
感谢您的帮助。

https://dev59.com/8F7Va4cB1Zd3GeqPGREB - user219882
2个回答

2
我不相信这是可能的。如果可以,那么什么会阻止人们编写安装流氓应用和病毒的应用程序呢?如果你有一个合法的理由让它安装apk,那么只需请求用户安装并解释其用途即可。
此外,这也是Android安全程序的一部分,因此在应用程序能够在设备上运行之前,用户可以查看所请求的权限并同意。

我不能通过命令行参数来完成这个吗?使用一个安装myapp到设备的应用程序来运行命令。 - thej
是的,您可以在安装有 Android SDK 的计算机上通过命令行安装应用程序。这是允许的,因为它需要对设备进行物理访问。 - mpeerman
当myapp.apk在我的SD卡上时,我该如何做到相同的效果。 - thej
你可以像你现在这样发起一个意图并请求用户安装,但是你不能在没有用户批准的情况下安装任何应用程序。 - mpeerman
谢谢。我会改变我的方法来解决我的问题。 - thej
没问题。如果你有更多的问题,请随时问。 - mpeerman

0

@thej: 没门。必须同意安卓的安全程序,才能安装。

因为安卓更注重操作系统。由于安卓操作系统就像防弹衣一样,应用程序被固定在其中。因此,安卓通过检查应用程序的安全性来保护操作系统,并提供用户进行安装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接