答案 0 :(得分:2)
那么,系统如何知道哪项活动是主要活动?它不是名称 - 系统不关心名称。它的意图过滤器的活动说明了它的主要活动。
它还可以使用其他意图过滤器以您可能想要的任何其他方式启动它。例如,您可能有一个意图过滤器,可以通过深层链接启动它。
对于正确的数据 - 如果从应用列表或主屏幕启动,它将没有任何数据。它是应用程序的程序员,以确保它可以做一些在这种情况下有意义的事情。
答案 1 :(得分:1)
https://developer.android.com/reference/android/content/Intent.html#ACTION_MAIN
Launcher向其发送隐式意图。这是启动器知道在点击时打开哪个活动的方式。
如果您发送的数据不正确,则无法打开您的活动。例如: 如果您尝试仅在startActivity中使用隐式intent启动主活动,则它将无法启动,因为存在与之关联的CATEGORY_DEFAULT。您需要在活动中再添加一个intent_filter来解决意图。