栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Calling startActivity() from outside of an Activity context requires the FLAG

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Calling startActivity() from outside of an Activity context requires the FLAG

在普通java类里进行Activity跳转报错:
android.util.AndroidRuntimeException:
Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

从Activity的上下文外部调用 startActivity()方法,需要FLAG_ACTIVITY_NEW_TASK 标志
解决

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
Intent intent = new Intent(MyApplication.getContext(), CallActivity.class);

                                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
                                intent.putExtra(AppConst.TYPE_CALL, 1);
                                intent.putExtra(AppConst.IN_CALL, message);
                                MyApplication.getContext().startActivity(intent);

总结:
Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的話,就需要开启一个新的task,遇到这个异常,是因为使用了Context的startActivity方法。解决办法是,加一个flag。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/396549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号