android - 在一个应用程序中 bundle 多个应用程序

标签 android installation apk

我正在开发一个 Android 应用程序,它使用多个第三方应用程序,通过 Intent 调用,例如第三方日历、网络广播等。因此,为了正确启动这些 Intent ,需要安装这些应用程序。是否可以在我的应用程序中包含这些 apk,以便在设置我的应用程序时自动安装它们? 让用户手动安装这些应用程序似乎是一种非常糟糕的方式......

有什么建议吗?

谢谢 彼得

最佳答案

Is it possbile to include those apks in my app so that they are automatically installed as well when my app is setup ?

这可能不是一个好主意。

对于初学者来说,这可能是侵犯版权,除非您已获得这些开发人员的明确许可以这种方式进行 bundle 。

然后,问题是这些开发人员是否实际公开了他们希望您以这种方式使用的 API,以及该 API 是他们独有的还是通用系统的一部分(例如,ACTION_SEND )。用户应该能够安装满足通用 Intent 请求(例如,ACTION_SEND)的任何应用程序,而不是被迫使用您授权的某些应用程序。并且您不应集成到未公开文档化和受支持的 API 或以其他方式表明他们对此类集成感兴趣的应用程序。

然后,如果这些应用程序最初不是通过某些标准分发服务(例如 Android Market)安装的,那么这些应用程序以后是否可以更新的问题。

然后,所有这些 APK 文件都会使您自己的 APK 文件变得更大,从而在设备上占用更多空间。

如果你能克服所有这些,那应该是有可能的。将 APK 打包为 Assets ,在第一次运行时将它们复制到外部存储,然后通过 startActivity() 使用正确的方式在它们上启动 ACTION_VIEW MIME 类型。

然而,这可能不是一个好主意。

It seems to be quite a bad way to let the user install these apps manually...

理想情况下,您的应用程序不应依赖于这些其他应用程序,因此用户是否拥有它们并不重要。您可以通过 PackageManagerqueryIntentActivities() 检测它们是否存在,然后使用它来确定您是要禁用应用的某些部分,还是引导用户安装额外的应用程序等。

关于android - 在一个应用程序中 bundle 多个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283775/

相关文章:

java - 如何更改RecyclerView中每个项目的值

java - 您将如何将 OBJ 文件的面部定义传递给 openGL

android - 在 picasso 中应用变换时,原始图像的缓存不会被重用

ios - 有人正在使用新的iOS 11.4.1经历无限的“等待”吗?

module - 如何安装 Play !框架模块?

java - 重新编译apk文件

android - 如何使用 google play 商店上的多个 apk 支持将 apk 限制在手机和平​​板电脑上?

Android搜索小部件如何默认隐藏搜索 View 中的关闭按钮?

unity3d - 无法发布我的 Android Unity 应用程序 : APK in debug mode

C# 与 Visual Studio : Published App Cannot Run After Installation