2013-11-22 44 views
0

当我们使用ADT创建helloworld应用程序时,将会加载“MainActivity”,因为每个程序都有一个条目,比如“main”函数。对于android应用程序,我们可以在名为“AndroidManifest”的文件中声明许多活动。 xml“,所以我想知道这个活动是如何由android框架发起的?这是Android应用程序“主”条目?因为这Android应用程序的第一个活动是如何启动的?

<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
+0

http://stackoverflow.com/questions/15130930/why-no-main-method-present-in-android – Ashish

回答

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:该活动可以是任务的初始活动,并列在顶级应用程序启动器中。

0

告诉机器人要启动的活动。实际上,当您点击应用程序图标时,操作系统会与应用程序的清单文件进行协商并查找启动程序的活动。您可以通过在清单中的活动标记中写入任何活动来将其宣布为启动程序。

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

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

Manifest始终充当您的应用程序和操作系统之间的接口。它提供了有关您的应用程序的所有信息,例如什么是权限,什么活动,您在应用程序中使用了哪些接收器,包括您的发射器活动。

0

活动与意图过滤宣布

<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> 
相关问题