android:报错Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag

一,报错信息

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

原因:

activity继承了context重载了startActivity方法,如果使用acitvity中的startActivity,不会有任何限制。
而如果直接使用context的startActivity则会报上面的错误,
根据错误提示信息,可以得知,如果要使用这种方式需要打开新的TASK。

二,解决:

添加上:

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

例子:

            //跳转到pdfactivity

            Intent intent = new Intent(context, PdfActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent);

 

posted @ 2025-06-14 15:22  刘宏缔的架构森林  阅读(193)  评论(0)    收藏  举报