Android可以应用程序检测它是如何启动的?
问题描述:
Android应用程序有没有办法检测它是如何启动的?无论是通过BOOT还是通过用户从应用程序列表中启动应用程序?Android可以应用程序检测它是如何启动的?
当我的应用程序在启动时启动时,我不希望任何活动显示。当用户专门从应用程序列表中启动它时,只有这样才能显示主要活动。如果我可以检测到启动是用户启动还是系统启动启动,我可能可以控制这一点。
答
您正在寻找的是启动应用程序的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的标签在表现。
听起来好像你可能想要两个单独的活动,一个是在启动时启动的,另一个是显式启动的。其实,启动时启动的那个应该是一个Service。 – MatrixFrog 2011-02-14 04:21:08
我认为这很接近,但现在的问题是要真正了解MAIN操作被调用的所有情况。那么,除非在发布之前的其他时间android调用main,否则你的说法会起作用吗? – Androider 2011-02-15 07:33:55