我正在开发一个android应用程序,它在主屏幕上显示地图视图,并有两个按钮,一个用于切换到传感器屏幕(显示来自移动传感器的各种数据和图形),另一个用于地图实用程序。
当在传感器数据屏幕的后台运行应用程序时(该应用程序定期将传感器数据存储到数据库文件中),一段时间后,当我将应用程序放在前台时,我发现它已切换回主屏幕。。。为什么会发生这种情况?
我该如何避免?
private fun setIntroScreenButtonListeners()
{
introScreenLayoutBinding.SensorsBTN.setOnClickListener {
switchToMainScreen()
}
introScreenLayoutBinding.MapBTN.setOnClickListener {
onPause()
switchToMapFragment()
}}
private fun periodicStorageOfData()
{
var handler = Handler()
var runnableCode : Runnable = object : Runnable
{
override fun run() {
GlobalScope.launch(Dispatchers.IO) {
storeAllDataToSQlDatabase()
}
handler.postDelayed(this, 1000)
}
}
handler.post(runnableCode)
}
//fragment transaction method
private fun switchToMapFragment()
{
sensorAppRunning = false
mapFragment = MapFragment.newInstance()
// locationMapFragment = LocationMapFragment()
supportFragmentManager.beginTransaction().replace(introScreenLayoutBinding.fragmentFrameLayout.id , mapFragment).commit()
}