今天在编码的时候使用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); 就可以了
写文章不易,路过的伙伴辛苦点个赞,谢谢支持!
网友评论