android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context

我不是女神ヾ 2023-09-28 18:26 172阅读 0赞

问题描述

FATAL EXCEPTION: main
Process: com.wuchen.juexiao_mvvm, PID: 11732
android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
在这里插入图片描述


原因分析:

当使用startActivity开启一个新界面时,出现的错误,这是由于使用到了Content中的startActivity方法。
ActivityContent中都有startActivity方法,而Activity继承自Context,重写了startActivity方法,当使用Content中的startActivity方法时,会受到限制,需要开启一个新的task


解决方案:

  1. fun startActivity(context: Context , chapterId: Int , type: Int) {
  2. val intent = Intent(context, ExerciseActivity::class.java)
  3. intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
  4. intent.putExtra(ARG_CHAPTER_ID,chapterId)
  5. intent.putExtra(ARG_TYPE,type)
  6. context.startActivity(intent)
  7. }

加入intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)这一行代码即可

发表评论

表情:
评论列表 (有 0 条评论,172人围观)

还没有评论,来说两句吧...

相关阅读