从我的应用程序启动其他 Android 个应用程序,并且仅从我的应用程序启动

Launching other Android apps from my app and only my app

我有一套应用程序,我正在考虑制作一种能够下载和启动它们的“主机”应用程序。我知道如何启动应用程序并从我的应用程序的不同来源下载它们,但现在我正在考虑如何让用户能够访问这些应用程序。

可能是我希望他们每次都来我的主机应用程序。在那种情况下,我很好奇是否可以下载这些应用程序但不让它们显示在他们设备上的其他地方。启动该应用程序的唯一方法是返回到我的主机应用程序并在那里单击它。有谁知道这在 Android 上是否可行?

我想我可以通过将所有代码打包到一个大型应用程序中来做到这一点,显然这不是很理想。特别是考虑到我想让用户能够只下载他们想要的应用程序。

这个想法还处于非常早期的阶段,没有任何硬性或严格的限制,所以我愿意适应可能的最佳实践。欢迎与这些主题相关的任何对话或信息。

通常,应用程序的主要 activity 在其清单中有如下条目:

    <activity  
        android:name=".MainActivity"  
        android:label="@string/title_activity_main" >  
        <intent-filter>  
            <action android:name="android.intent.action.MAIN" />  

            <category android:name="android.intent.category.LAUNCHER" />  
        </intent-filter>  
    </activity>  

LAUNCHER 部分负责在设备的应用程序启动器中显示应用程序。您可以从 'child apps' 中删除整个 intent-filter 部分,用户将不再看到它们。如果另一个应用程序(您的启动器应用程序)知道确切的包和 activity 名称,为了仍然能够从该应用程序启动它,您必须将 activity 标记为已导出。所以你最终为你的子应用程序的主要 activity:

    <activity  
        android:name=".MainActivity"  
        android:label="@string/title_activity_main" 
        android:exported="true">  

    </activity>