Иногда я обнаруживал java.lang.IllegalStateException в моем приложении:
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2825)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2886)
at android.app.ActivityThread.-wrap12 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1623)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:186)
at android.app.ActivityThread.main (ActivityThread.java:6509)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:914)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:804)
Caused by: java.lang.IllegalStateException:
at com.****.onCreate (***.kt:35) <-- here is the Intent.getStringExtra(..)
at android.app.Activity.performCreate (Activity.java:6992)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2778)
После того, как я посмотрел на него, эта проблема вызвана Intent.getStringExtra () с кодом следующим образом:
private lateinit var mArticle : ArticleModel
private lateinit var mArticleImg : String
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_article_detail)
val intent : Intent = this.intent;
mArticleImg = intent.getStringExtra( "articleImg" ) <-- here is where it crashed
mArticle = intent.getParcelableExtra("data")
}
Протестировал это на многих тестовых устройствах и не смог воспроизвести эту проблему, кроме случаев, когда я смотрел отчет о сбоях Google.Что такое IllegalStateException и происходит ли это из-за намеренного возвращаемого значения?