当我们使用ADT创建一个helloworld应用程序时,将加载“MainActivity”,因为每个程序都有一个条目,例如“main”函数,对于Android应用程序,我们可以在名为“AndroidManifest”的文件中声明许多活动.xml“,所以我想知道android框架如何启动这个活动?这是Android应用程序“主要”条目?
答案 0 :(得分:2)
Manifest告诉android启动哪个活动。实际上,当您单击应用程序图标时,操作系统会查询应用程序的清单文件并查找启动程序活动。您可以将任何活动声明为您的启动器,方法是将其写入清单中的活动标记内。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Manifest始终充当应用程序和操作系统之间的接口。它向操作系统提供有关您的应用程序的所有信息,例如权限,活动,您在应用程序中使用的接收器,包括启动器活动。
答案 1 :(得分:0)
因为这个
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
答案 2 :(得分:0)
使用intent filter
声明的活动<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
将首先推出。
<activity
android:name="com.example.hello.HelloActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 3 :(得分:0)
只有一个活动应该有“主要”操作和“启动器”类别......
所以在AndroidManifest.xml
文件中,你应该只有一个:
action android:name="android.intent.action.MAIN"
category android:name="android.intent.category.DEFAULT"
活动通常需要支持CATEGORY_DEFAULT,以便Context.startActivity()
找到它们。因此,CATEGORY_DEFAULT可以出现多次。
Android不会抓住清单中首先出现的那个,但它会从具有CATEGORY_LAUNCHER的活动开始。
CATEGORY_LAUNCHER:活动可以是任务的初始活动,并列在顶级应用程序启动器中。