我有四个媒体分类(Record,Music,Video,Picture),里面除了数据不同,界面都是相似的,所以我把它们用一个MediaActivity
装载,按下不同按钮后调用startActivity(intent)
,通过传入不同的intent
的Extra
值来区分初始化哪一种数据。
问题来了:当我进入(比如说)“录像”后,“录像”数据初始化成功了,然后按Home键退出,再进入“音乐”,里面的数据还是“录像”的。
这是因为Home键使得MediaActivity
放到后台运行了,再次调用startActivity(intent)
生命周期是从onResume()
开始的,而在onResume()
里得到的intent
数据并不是最新的。
解决办法参考:《How to make notification intent resume rather than making a new intent?》
在startActivity(intent)
之前,加上