为什么我不能在我的应用程序中打开我的Launch活动

时间:2013-10-11 22:27:58

标签: android android-intent android-activity

我有一个主要活动MainActivity,它是我的Android应用程序的入口点。它正确地通过启动器启动。但是,当我尝试执行startActivity时,我看到一些调试活动正在尝试启动,并且一些代码正确触发,但MainActivity永远不会启动。

我认为它可能与意图过滤相关:

    <activity
        android:name=".ui.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
        </intent-filter>
    </activity>

这是对的吗?

从内部活动中,我有

button.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View view) {
    Intent intent = new Intent...
    startActivity(intent);
  }
});

我甚至看到了

10-11 22:23:46.0​​26:INFO / ActivityManager(472):从pid 1541开始{flg = 0x10000000 cmp = com.example.foo / .ui.MainActivity u = 0}

在日志中

所以我知道按钮是有线的,我从来没有得到新的Activity:/

1 个答案:

答案 0 :(得分:1)

我对两个intent-filter声明感到困惑。我不认为这对你想要完成的事情是必要的。将活动部分更改为:

    <activity
        android:name=".ui.MainActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

应该解决你的问题。