ActivityNotFoundException意外

时间:2011-08-24 16:33:44

标签: android android-activity

我在我的一个活动中收到此错误并且没有任何意义,因为我可以从另一个活动转到Calendar活动,所以我知道我在清单中正确地声明了它

<activity android:name=".Calendar" android:label="Calendar"/>

意图在对话框选择中

Intent ok = new Intent(Events.this,Calendar.class);
ok.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(ok); //ActivityNotFoundException
finish();

我可以从活动ACalendar活动,然后Calendar活动可以访问我的Events活动,但我无法离开EventsCalendar活动??

关于这是为什么的想法?

编辑:错误更新

08-24 12:53:46.951: ERROR/AndroidRuntime(3045): FATAL EXCEPTION: main
08-24 12:53:46.951: ERROR/AndroidRuntime(3045): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.app.notifyme/java.util.Calendar}; have you declared this activity in your AndroidManifest.xml?
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Activity.startActivityForResult(Activity.java:2827)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Activity.startActivity(Activity.java:2933)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.app.notifyme.Events$12.onClick(Events.java:318)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:873)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.ListView.performItemClick(ListView.java:3513)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1849)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Handler.handleCallback(Handler.java:587)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Looper.loop(Looper.java:123)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.ActivityThread.main(ActivityThread.java:3839)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at java.lang.reflect.Method.invokeNative(Native Method)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at java.lang.reflect.Method.invoke(Method.java:507)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:1)

导入正确的包。我猜您在java.util.Calendar班级中导入Events之类的内容。

如果出于某种原因,您需要两个Calendar类(您编写的类和java.util类),则必须填写完整路径...例如:

Intent ok = new Intent(Events.this, your.pkg.example.Calendar.class);

答案 1 :(得分:0)

当您致电finish()时,系统实际上会从堆栈中删除活动。

这使您无法返回该活动。

我建议你仔细阅读Activity Lifecycle Documentation

它可以帮助你找出问题所在。 :)

编辑:

你也应该不需要那面旗帜。刚开始活动,系统将负责其余的工作。

您也无权访问其他活动中的一项活动。每个活动都是一个独立的单元,不应尝试访问其他活动。

如果需要在活动之间传递数据,请在单独的类中使用静态类/变量,或使用Intent.putExtra()传递它。