android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context
问题描述
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
方法。Activity
和Content
中都有startActivity
方法,而Activity
继承自Context
,重写了startActivity
方法,当使用Content
中的startActivity
方法时,会受到限制,需要开启一个新的task
解决方案:
fun startActivity(context: Context , chapterId: Int , type: Int) {
val intent = Intent(context, ExerciseActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
intent.putExtra(ARG_CHAPTER_ID,chapterId)
intent.putExtra(ARG_TYPE,type)
context.startActivity(intent)
}
加入intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
这一行代码即可
还没有评论,来说两句吧...