-1

初めての Android アプリを作成しました。すべて正常に動作しますが、すべてのアクティビティが Android メニューに表示されます。私は何を間違えましたか?

スクリーンショット: imgur.com/9CmXU すべてのアクティビティではなく、MainActivity を指す 1 つのアイコンが必要です

    <!-- language-all: lang-html -->
     <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.myApps.birthdaymeter"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/my_logo"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".BirthdayMeter"
            android:label="@string/title_activity_birthday_meter" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".AboutWindow"
            android:label="@string/title_activity_about_window" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ShowResult"
            android:label="@string/title_activity_show_result" >
            <intent-filter>


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

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

</manifest>

これは私のマニフェストです。ロゴを変更しても解決しませんでした

4

3 に答える 3

1

タグは、<intent-filter>各アクティビティが応答するインテントのタイプを記述するために使用されます。この"android.intent.action.MAIN"アクションは、このアクティビティがアプリケーションの入り口であることを示しています (Java プログラムが必要とするメイン メソッドを考えてください)。カテゴリは、アプリケーションの"android.intent.category.LAUNCHER"リストにアクティビティを表示するよう OS に指示します。DEFAULTカテゴリを追加することは問題ありませんが、事実上、<intent-filter>タグを完全に省略することと同じです (これにより、コードがよりクリーンで読みやすくなります)。<intent-filter>ユーザーがアプリを開いたときに開始されるアクティビティで、これら 2 つのアクションとカテゴリを含むタグのみを使用する必要があります。アプリケーション内のアクティビティがいくつかの特別なインテントに応答できるようにする場合は、タグを使用して応答対象を定義します。

インテント フィルターの詳細については、Google 開発者ページへのリンクをご覧ください。

http://developer.android.com/guide/components/intents-filters.html

<intent-filter>タグのドキュメントは次のとおりです。ただし、理解するのは最も簡単ではありません。

http://developer.android.com/guide/topics/manifest/intent-filter-element.html

マニフェスト ファイルとインテント クラスのドキュメントは次のとおりです。これらはどちらも、マニフェストで使用するタグがわからない場合の参考として役立ちます。幸運を!

http://developer.android.com/guide/topics/manifest/manifest-intro.html

http://developer.android.com/reference/android/content/Intent.html

于 2012-08-10T18:54:20.420 に答える
0

マニフェストファイルを投稿すると、もう少しお手伝いできますが、アクティビティを正しく宣言していないようです。

次のように設定する必要があります。

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="Activity1"></activity>
    <activity android:name="Activity2"></activity>
    <activity android:name="Activity3"></activity>
</application>

基本的に、アプリケーション宣言を作成し、その中に各アクティビティを含めます。

于 2012-08-10T17:13:36.663 に答える
0

あなたの質問は非常に一般的な言い回しだったので、何と答えたらよいかわかりません。nameOfActivity.this.finish()別のアクティビティを開始したときに電話していないようです

于 2012-08-10T16:46:52.400 に答える