今天碰到了幾個問題
<activity android:name=".MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleTask">
</activity>
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
//接收data
var mydata=intent?.getStringExtra("Mydata")
textView.text=mydata
}
原因是我在之前就已經開啟過這個MainActivity實例,所以當我切換到別的活動並傳遞資料到這個MainActivity時,當前MainActivity正處在OnStop或onPause。
那麼會形成下列執行順序
onNewIntent->onRestart->onStart->onResume
系統不會再跑OnCreate,而是改用onNewIntent。
但是,不能保證這個實例會一直存活,所以最好在OnCreate跟onNewIntent都呼叫同一個讀取資料的方法。