2

我有一个主要活动 MainActivity,它是我的 android 应用程序的入口点。它通过启动器正确启动。但是,当我尝试执行 startActivity 时,我看到该 Activity 正在尝试启动的一些调试,并且一些代码正确触发,但 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.026:INFO/ActivityManager(472):从 pid 1541 开始 {flg=0x10000000 cmp=com.example.foo/.ui.MainActivity u=0}

在日志中所以我知道按钮是有线的,我只是从来没有得到新的活动:/

4

1 回答 1

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>

应该可以解决您的问题。

于 2013-10-11T22:42:42.820 回答