美文网首页
2018-07-26 异常android.util.Andro

2018-07-26 异常android.util.Andro

作者: 贝贝ovo | 来源:发表于2018-07-26 11:01 被阅读14次

跳转界面奔溃了,异常 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); 或者 用Activity的startActivity方法跳转

/**
 * Launch a new activity.  You will not receive any information about when
 * the activity exits.
 *
 * <p>Note that if this method is being called from outside of an
 * {@link android.app.Activity} Context, then the Intent must include
 * the {@link Intent#FLAG_ACTIVITY_NEW_TASK} launch flag.  This is because,
 * without being started from an existing Activity, there is no existing
 * task in which to place the new activity and thus it needs to be placed
 * in its own separate task.
 *
 * <p>This method throws {@link ActivityNotFoundException}
 * if there was no Activity found to run the given Intent.
 *
 * @param intent The description of the activity to start.
 * @param options Additional options for how the Activity should be started.
 * May be null if there are no options.  See {@link android.app.ActivityOptions}
 * for how to build the Bundle supplied here; there are no supported definitions
 * for building it manually.
 *
 * @throws ActivityNotFoundException &nbsp;
 *
 * @see #startActivity(Intent)
 * @see PackageManager#resolveActivity
 */
public abstract void startActivity(@RequiresPermission Intent intent,
        @Nullable Bundle options);

Context的startActivity方法注释

相关文章

网友评论

      本文标题:2018-07-26 异常android.util.Andro

      本文链接:https://www.haomeiwen.com/subject/fzgvmftx.html