Android-以编程方式下载另一个应用程序
可以通过编程方式下载应用程序吗?我并不是要为某个应用程序启动Google Play。假设我有3个应用程序,都是相关的,但功能不同。是否有可能创建一个第四个应用程序,当您下载时,它也会下载其他3个应用程序,并作为它们的中心?如果是这样,有人能给我指出正确的方向吗?你不能自动安装应用程序,这对用户来说是相当危险的 您可以下载大量新的APK,但用户必须通过打开.apk自行安装Android-以编程方式下载另一个应用程序,android,google-play,Android,Google Play,可以通过编程方式下载应用程序吗?我并不是要为某个应用程序启动Google Play。假设我有3个应用程序,都是相关的,但功能不同。是否有可能创建一个第四个应用程序,当您下载时,它也会下载其他3个应用程序,并作为它们的中心?如果是这样,有人能给我指出正确的方向吗?你不能自动安装应用程序,这对用户来说是相当危险的 您可以下载大量新的APK,但用户必须通过打开.apk自行安装 不过,您也可以在内部创建一个大应用程序,但可以将其显示为多个小应用程序,因为您可以将多个活动设置为启动器活动。也许这是你的选择
不过,您也可以在内部创建一个大应用程序,但可以将其显示为多个小应用程序,因为您可以将多个活动设置为启动器活动。也许这是你的选择 还有一个选择。也许这符合要求?是的。我前几天刚做的。您的应用将需要一些权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.DELETE_PACKAGES"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
如果您正在安装的APK覆盖了用于启动Package Manager的应用程序,则FLAG_ACTIVITY_NEW_任务可防止某些手机崩溃。您也可以通过以下方式执行此操作:
通过web服务从服务器下载APK文件,下载后使用install_PACKAGES权限安装这些APK文件。您这样做是为了从Google Play以外的其他地方下载APK,对吗?在启动应用程序管理器时,它只是一个APK。不管你从哪里得到它,不管它是否签名,等等。它只是SD卡上的一个文件,应用程序管理员碰巧知道如何处理它。你可以用它从市场或其他地方下载,这没什么区别。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.fromFile(new File("/sdcard/whereever-you-saved-this.apk")), "application/vnd.android.package-archive");
startActivityForResult(intent, 0);