我有一个主要活动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.026:INFO / ActivityManager(472):从pid 1541开始{flg = 0x10000000 cmp = com.example.foo / .ui.MainActivity u = 0}
在日志中所以我知道按钮是有线的,我从来没有得到新的Activity:/
答案 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>
应该解决你的问题。