【问题标题】:Launching other Android apps from my app and only my app从我的应用程序启动其他 Android 应用程序,并且只启动我的应用程序
【发布时间】:2020-08-04 14:51:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: android launcher android-launcher


    【解决方案1】:

    通常,应用的主要活动在其清单中具有如下条目:

        <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 部分负责在设备的应用启动器中显示应用。您可以从您的“子应用程序”中删除整个意图过滤器部分,它们将不再对用户可见。如果该应用程序知道确切的包和活动名称,为了仍然能够从另一个应用程序(您的启动器应用程序)启动它,您必须将活动标记为已导出。因此,您最终会为您的子应用程序的主要活动:

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

    【讨论】:

    • 这太棒了!谢谢!
    • 不客气。那么请接受我的回答(问题左侧的复选标记),以便其他人也可以从中受益。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多