1

我在 android 中制作了一个包含四个活动的 Timer 应用程序。现在,当我在我的 android 设备中安装 .apk 时,它会在屏幕上显示所有四个活动图标,而不是只显示主活动图标..请帮助我..我的清单文件是如下;

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.timerdemo2"
    android:versionCode="1"
    android:versionName="1.0" >

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

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


            </intent-filter>
        </activity>
        <activity
            android:name=".Timedetails"
            android:label="@string/title_activity_timedetails"
             android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />


            </intent-filter>
        </activity>
        <activity
            android:name=".ListActivity"
            android:label="@string/title_activity_list"
             android:screenOrientation="portrait" >
            <intent-filter>


                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_new_project"
             android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />


            </intent-filter>
        </activity>
    </application>

</manifest>
4

3 回答 3

2

试试这个代码而不是上面的代码并记住应用程序添加标签的主要活动

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

你的清单应该是这样的

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.timerdemo2"
    android:versionCode="1"
    android:versionName="1.0" >

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

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".NewProject"
            android:label="@string/title_activity_main" 
             android:screenOrientation="portrait">

        </activity>
        <activity
            android:name=".Timedetails"
            android:label="@string/title_activity_timedetails"
             android:screenOrientation="portrait" >

        </activity>
        <activity
            android:name=".ListActivity"
            android:label="@string/title_activity_list"
             android:screenOrientation="portrait" >

        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/title_activity_new_project"
             android:screenOrientation="portrait" >

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

            </intent-filter>
        </activity>
    </application>

</manifest>
于 2013-01-01T05:04:52.823 回答
1

这是因为您正在申请</intent-filter>所有活动而不是主要活动,只需进行如下更改

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.timerdemo2"
        android:versionCode="1"
        android:versionName="1.0" >

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

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

            <activity
                android:name=".NewProject"
                android:label="@string/title_activity_new_project"
                 android:screenOrientation="portrait" >

            </activity>
            <activity
                android:name=".Timedetails"
                android:label="@string/title_activity_timedetails"
                 android:screenOrientation="portrait" >

            </activity>
            <activity
                android:name=".ListActivity"
                android:label="@string/title_activity_list"
                 android:screenOrientation="portrait" >

            </activity>

        </application>

    </manifest>

关于意图过滤器有相当多的文档

于 2013-01-01T05:04:39.827 回答
0

更改您的意图过滤器,MAIN/LAUNCHER 意图过滤器本质上告诉 android 该活动是应用程序的启动活动,而不是使用:

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

采用 :

<action android:name="android.intent.action.VIEW" />
于 2013-01-01T05:03:20.850 回答