查看: 1706|回复: 0

start Activity的requires new task异常解

[复制链接]
发表于 2013-8-29 15:24:13 | 显示全部楼层 |阅读模式
关键词: android , start Activity
很多人使用start Activity时候,会碰到如下的异常:
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
我曾经也遇到过,不过后来研究了一下之后,明白了原理,记下来,以为碰到同样困扰的兄弟们解惑。
都知道,Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
这样就可以在新的task里面启动这个Activity了。

希望以上的方法能够帮助到大家,谢谢已阅者。更多安卓技术问题欢迎加群探讨:278744577,验证码:eec,不写验证不予通过哟~+~

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表