web-dev-qa-db-ja.com

正しい方法でmanifest.xmlにアクティビティを追加する方法は?

Androidマニフェストとその方法で各アクティビティを記述する必要がありますか?各アクティビティはインテントフィルタを持っている必要がありますか?

14
Wesik

マニフェストファイルにアクティビティを追加する複数の方法。

インテントフィルターは、すべてのアクティビティに必要なタグではなく、オプションです。

マニフェストのアプリケーションタグにアクティビティを追加します。

 <!-- 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" />
30
Hamad

Androidマニフェストで各アクティビティに言及する必要があります。

すべてのアクティビティにインテントフィルターが必要なわけではありません。インテントフィルターは、このアクティビティをいつ起動するかを示します。通常、アプリケーションが起動されたときに最初のアクティビティであることを示すために、インテントフィルターを使用した1つのアクティビティがあります。

マニフェストのアプリケーションタグ内:

        <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
vipul mittal

Android:name="ActivtyName"のみが必要です。

1
Akshay Paliwal

Eclipse ADTを使用している場合、クラスを作成する代わりに新しいアクティビティを作成するときに、[新規]> [その他...]からアクティビティを作成します。これにより、ADTはアクティビティをマニフェストに自動的に追加します。

1
user666