必威体育Betway必威体育官网
当前位置:首页 > IT技术

【完美解决系列】Activity context requires the FLAG_ACTIVITY_NEW_TASK flag

时间:2019-06-08 04:43:12来源:IT技术作者:seo实验室小编阅读:53次「手机版」
 

flag_activity_new_task

在Service中启动Activity,会报错如下:

Intent intent = new Intent(MyService.this, Main2Activity.class);

startActivity(intent);

                                                                           android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:672)
                                                                               at android.app.ContextImpl.startActivity(ContextImpl.java:659)
                                                                               at android.content.ContextWrapper.startActivity(ContextWrapper.java:331)
                                                                               at realmusic.ace.com.myapplication.MyService$1.run(MyService.java:32)
                                                                               at android.os.Handler.handleCallback(Handler.java:739)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                               at android.os.Looper.loop(Looper.java:148)
                                                                               at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                               at java.lang.reflect.Method.invoke(Native Method)
                                                                               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

根据错误信息的提示,增加FLAG_ACTIVITY_NEW_TASK flag,即可解决问题。

解决方法:

ntent intent = new Intent(MyService.this, Main2Activity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );

startActivity(intent);

相关阅读

Android Fragment应用实战,使用碎片向ActivityGroup说

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/13171191现在Fragment的应用真的是越来越广泛了,之前Android在

不建议使用类型 Activity 的方法 managedQuery(Uri, St

问题:managedQuery方法在2.3.3没问题,但是在4.2.2里面就不行了,提示:The method managedQuery(Uri, String[], String, String[], St

activity-alias详解及应用

activity-alias标签元素 众所周知,AndroidManifest是一个xml文件,它包含很多标签元素,如application、activity、receiver等,其中有

广播onReceive()方法的context类型探究

1. 铺垫 1). 非Activity类型的context并没有所谓的任务栈; 2). 出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一

Struts2之ActionContext理解

在Strust2中,有一个内置对象叫ActionContext,通过该对象可以获得之前Servlet中的对象,比如:requst对象,response对象...那么为什么可以

分享到:

栏目导航

推荐阅读

热门阅读