Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1567737
  • 博文数量: 237
  • 博客积分: 5139
  • 博客等级: 大校
  • 技术积分: 2751
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-18 14:48
文章分类

全部博文(237)

文章存档

2016年(1)

2012年(4)

2011年(120)

2010年(36)

2009年(64)

2008年(12)

分类: 嵌入式

2011-11-30 10:33:56

今天在service中启动startActivity()方法的时候,碰到了如下的异常:

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了。

阅读(1367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~