安卓如何通过编程方式安装应用程序

3

我有一个应用程序,在其中使用 zxing 条形码扫描器 来扫描 QR 代码。这仅在用户在其移动设备上安装了 条形码扫描器 应用程序时才有效。那么,我能否在安装我的应用程序时自动安装该应用程序?例如通过编程方式安装 apk 文件 或将其与我的应用程序集成等,以便用户无需手动再次安装该应用程序。

3个回答

3

是的,我认为你可以这样做,将该apk文件放入您的内部存储器中,然后使用意图(intent)以编程方式安装它。首先使用Android包管理器检查设备上是否已安装了Barcode Scanner,如果没有,则安装它。

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(path+"/Bscanner.apk")), "application/vnd.android.package-archive");
startActivity(intent);

如果可能的话,您需要将Zxing库集成到您的Android应用程序中并使用它,这样您就不需要在设备上安装Bar-code扫描器apk。


我是指在原始文件夹或类似的位置。 - Seshu Vinay
如果我将它复制到资产中,我该如何访问它? - Seshu Vinay
我的意思是,我如何更改以下行:intent.setDataAndType(Uri.fromFile(new File(path+"/Bscanner.apk")), "application/vnd.android.package-archive"); - Seshu Vinay
如果保存在内部存储中,那么当我安装我的应用程序时,它会自动创建吗? - Seshu Vinay
是的,您需要将该apk复制到getDataDirectory()中,这将在您的应用程序内部存储中创建一个文件目录。 - user370305

3

安装代码....

 String vsName=Environment.getExternalStorageDirectory().getAbsolutePath()+"/download/";
 File file = new File(vsName, "aaa.apk");
 System.out.println(":"+file);
 Intent install=new Intent(Intent.ACTION_VIEW);
 install.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
 install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(install);

1

你可以让用户安装你的应用程序,在第一次运行时启动一个Intent来下载其他应用程序。用户必须手动安装该应用程序,但至少它会自动下载。

编辑:user370305的Intent解决方案似乎是启动安装的好方法。由于所有下载都在sdcard上的共享目录中,因此您可以从下载目录启动安装。


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