Android:DEFAULT活动显示而不是LAUNCHER

时间:2012-11-08 11:18:44

标签: java android xml

我正在创建一个简单的Android应用程序,它只包含两个活动,.Password和.Adder

<activity
        android:name=".Adder"
        android:label="@string/title_activity_adder" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Password"
        android:label="@string/title_activity_adder" >
        <intent-filter>
            <action android:name="android.intent.action.PASSWORD" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

.Password活动设置为LAUNCHER,但是当我运行它时,.Adder活动会显示我们。

对于通过setContentView()正确连接的活动,我有.xml和.java文件,而Eclipse根本没有在任何文件中报告任何类型的错误。

密码活动检查正确的密码并将控制权切换到加法器活动:

Intent openStartingPoint = new Intent("com.example.pointsadder.MAIN");
startActivity(openStartingPoint); 

2 个答案:

答案 0 :(得分:2)

您不必为每个活动编写意图过滤器。正确的xml:

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

答案 1 :(得分:0)

改变这个:

<activity
    android:name=".Password"
    android:label="@string/title_activity_adder" >
    <intent-filter>
        <action android:name="android.intent.action.PASSWORD" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

到此:

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

如图所示修改:

<activity
    android:name=".Adder"
    android:label="@string/title_activity_adder" >
</activity>

有关详细信息,请参阅此链接:http://developer.android.com/guide/topics/manifest/manifest-intro.html#iconlabel