should I write each activity in android manifest and how? Must each activity have intent-filter, or not?
问题:
回答1:
Multiple ways to add activites in Manifest file.
intent filter is not a necessary tag for all activites,it is optional.
Add Activity in application tag in your manifest:
<!-- Main Activity-->
<activity android:name=".YourActivityName" >
<intent-filter>
<!-- MAIN represents that it is the Main Activity-->
<action android:name="android.intent.action.MAIN" />
<!-- Launcher Denotes that it will be the first launching activity-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--Add Other activities like this-->
<activity android:name=".YourActivityName2" >
<!--Default Intent Filter-->
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
</intent-filter>
</activity>
<!--OR Other activities like this And intent filter is not necessary in other activites-->
<activity android:name=".YourActivityName3" >
</activity>
<!--OR Add Other activities like this-->
<activity android:name=".YourActivityName4" />
回答2:
You must mention each activity in android manifest.
Not all activity need intent filter. intent filters show when to launch this activity. usually you will have one activity with intent filter that is to show that it is first activity when application is launched.
inside application tag in your manifest:
<activity android:name="ActivtyName" >
</activity>
<activity android:name="ActivtyName2" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
回答3:
If you are using Eclipse ADT, when creating new Activity instead of creating a class create a Activity from New > Others... This way ADT automaticly adds your Activity to Manifest.
回答4:
only android:name="ActivtyName" is necessary.
回答5:
You have to write entry in manifest for every activity and No intent filter is not necessary. You can simply write this :
<activity
android:name="com.example.chatter.List"
android:label="@string/title_activity_list" >
</activity>