尝试从另一个Activity启动MapActivity时出错

时间:2011-09-16 18:52:13

标签: android

当我想使用此代码从另一个活动启动MapActivity时:

Intent i = new Intent(getBaseContext(),RoutingMapActivity.class);
                getApplicationContext().startActivity(i);

我收到此错误:

09-16 18:47:12.788: ERROR/AndroidRuntime(523): FATAL EXCEPTION: main
09-16 18:47:12.788: ERROR/AndroidRuntime(523): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.app.ContextImpl.startActivity(ContextImpl.java:618)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at com.android.uis.RoutActivity$1.onItemClick(RoutActivity.java:24)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.widget.ListView.performItemClick(ListView.java:3513)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1800)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.os.Handler.handleCallback(Handler.java:587)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.os.Handler.dispatchMessage(Handler.java:92)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.os.Looper.loop(Looper.java:123)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at android.app.ActivityThread.main(ActivityThread.java:3647)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at java.lang.reflect.Method.invokeNative(Native Method)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at java.lang.reflect.Method.invoke(Method.java:507)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-16 18:47:12.788: ERROR/AndroidRuntime(523):     at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:0)

如果您从MapActivity开始Activity,为什么要使用应用Context? 只需拨打Activity的方法startActivity(i)即可。

这基本上就是你可以在跟踪中的异常消息中读到的内容。

答案 1 :(得分:0)

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这解决了问题