您的位置:首页 > 产品设计 > UI/UE

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

2016-07-28 14:13 639 查看
在Dialog中使用startActivity()时候,出现了这个错误:

android.util.AndroidRuntimeException: Calling startActivity() from

outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK

flag. Is this really what you want?

原因

Content的startActivity方法,需要开启一个新的task。

如果是使用 Activity的startActivity方法,不会有任何限制,因为Activity继承自Context,已重载了startActivity方法。但是如果是在其他地方(如Widget或Service、BroadcastReceiver中)使用startActivity()方法,就会出现此错误。

解决方法

为Intent设置一个FLAG_ACTIVITY_NEW_TASK的flag。

public void toOtherActivity(Context context, Intent intent) {
……
Intent intent = new Intent(context, OtherActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
……
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: