context使用startActivity时的错误

来源:互联网 发布:java调用main函数 编辑:程序博客网 时间:2024/04/30 03:46

今天在编码的时候使用context调用了startactivity方法,报出了以下错误
startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag
原因是:
  Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用 Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

所以在使用startActivity之前加上intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 就可以了

0 0
原创粉丝点击