Android可以应用程序检测它是如何启动的?

问题描述:

Android应用程序有没有办法检测它是如何启动的?无论是通过BOOT还是通过用户从应用程序列表中启动应用程序?Android可以应用程序检测它是如何启动的?

当我的应用程序在启动时启动时,我不希望任何活动显示。当用户专门从应用程序列表中启动它时,只有这样才能显示主要活动。如果我可以检测到启动是用户启动还是系统启动启动,我可能可以控制这一点。

+1

听起来好像你可能想要两个单独的活动,一个是在启动时启动的,另一个是显式启动的。其实,启动时启动的那个应该是一个Service。 – MatrixFrog 2011-02-14 04:21:08

+0

我认为这很接近,但现在的问题是要真正了解MAIN操作被调用的所有情况。那么,除非在发布之前的其他时间android调用main,否则你的说法会起作用吗? – Androider 2011-02-15 07:33:55

您正在寻找的是启动应用程序的Intent。在Android项目的清单文件中,您可以指定哪个Intents将启动哪些活动。对于意图文档页面实际上有如何使用此功能的真正彻底的解释,用示例代码和一切:

http://developer.android.com/reference/android/content/Intent.html

将被调用的意图,当用户选择从启动您的应用程序的外观像:

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

如果你想有一个不同的活动推出的时候,手机的靴子(有一个意图过滤值“android.intent.action.BOOT_COMPLETED”),你只需要添加一个不同的IntentFilter的Activity的标签在表现。