ActivityNotFoundException,即使它在Manifest中声明

时间:2013-09-14 20:50:40

标签: android android-activity android-manifest

我写了一个涉及两个活动的简单应用。我使用了一个明确的意图来调用第二个活动,但它总是强制关闭应用程序,当我尝试这样做。 第1次活动代码

public class Splash extends Activity implements OnClickListener {

private ImageButton ibLogo;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_splash);

    ibLogo = (ImageButton) findViewById(R.id.imageButton1);
    ibLogo.setOnClickListener(this);
}

@Override
public void onClick(View arg0) {
    // TODO Auto-generated method stub
    startActivity(new Intent(Splash.this, Menu.class));
}

}

菜单与Splash

在同一个包中

Android Manifest:

<activity
        android:name="com.rakeshsarangi.petrofiesta2013.Menu"
        android:label="@string/title_activity_menu" >
</activity>

我见过这样的其他线程,但没有人可以帮助我。对这个简单的事情感到困惑。

3 个答案:

答案 0 :(得分:4)

它可能认为startActivity(new Intent(Splash.this, Menu.class));行的菜单是android.view.Menu。您应该更改该行以使用全名com.rakeshsarangi.petrofiesta2013.Menu

答案 1 :(得分:1)

改变 -

startActivity(new Intent(Splash.this, Menu.class));

到 -

startActivity(new Intent(Splash.this, com.rakeshsarangi.petrofiesta2013.Menu.class));

我很简单,它正在从Menu

中选择android.view课程

答案 2 :(得分:0)

如果你正在扩展菜单,那么这可能是完整的帮助

根据公共场所的回答

您正在尝试启动名为 android.view.Menu 的活动。您没有名为 android.view.Menu 的活动。

Intent myIntent = new Intent(getApplicationContext(), Menu.class);

如果将Intent构造函数的第二个参数更改为活动的Class对象,那么这可能会更好。更好的方法是没有名为Menu的活动,而是使用更具特色的活动,以帮助防止将来发生这种碰撞。

ActivityNotFoundException on launching class that is in manifest