未找到活动异常,但我可以从其他活动启动它

时间:2014-06-27 11:47:45

标签: android

我以完全相同的方式从2个不同的活动中调用“设置”活动。但是,当我从第二个活动中调用它时,我收到了ActivityNotFoundException。

在两个活动中都是从

调用的
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.action_settings:
        Intent i = new Intent(this, Settings.class);
        startActivity(i);
        return true;

    default:
        return super.onOptionsItemSelected(item);
    }

}

错误

06-27 14:42:33.131: E/AndroidRuntime(11763): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.palsoftware.ebmapps/android.provider.Settings}; have you declared this activity in your AndroidManifest.xml?
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1767)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1563)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Activity.startActivityForResult(Activity.java:3505)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Activity.startActivityForResult(Activity.java:3466)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Activity.startActivity(Activity.java:3708)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Activity.startActivity(Activity.java:3676)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.palsoftware.ebmapps.StartMonitorActivity.onOptionsItemSelected(StartMonitorActivity.java:97)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.Activity.onMenuItemSelected(Activity.java:2681)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1101)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.view.menu.IconMenuView.invokeItem(IconMenuView.java:494)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java:126)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.view.View$PerformClick.run(View.java:18673)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.os.Handler.handleCallback(Handler.java:733)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.os.Handler.dispatchMessage(Handler.java:95)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.os.Looper.loop(Looper.java:157)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at android.app.ActivityThread.main(ActivityThread.java:5872)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at java.lang.reflect.Method.invokeNative(Native Method)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at java.lang.reflect.Method.invoke(Method.java:515)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1069)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:885)
06-27 14:42:33.131: E/AndroidRuntime(11763):    at dalvik.system.NativeStart.main(Native Method)

活动在清单中定义:

 <activity
            android:name="com.palsoftware.ebmapps.Settings"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" />

3 个答案:

答案 0 :(得分:2)

我认为您导入导入android.provider.Settings; 而不是 com.palsoftware.ebmapps.Settings ..

所以只需导入正确的课程并立即检查,我希望它能解决问题。

答案 1 :(得分:2)

Intent i = new Intent(this, Settings.class);更改为Intent i = new Intent(this, com.palsoftware.ebmapps.Settings.class);

答案 2 :(得分:0)

您是否正在调用您的设置活动或Android设置..是您的两个类,导入相同的设置包? &#34; /android.provider.Settings"让我觉得在一个不工作的人中你意外地输入了错误的&#34; Settings.class&#34;