当activity属性设置为singletask时,如果按home键,然后重新启动该activity,理应走到onNewIntent()中去,但是在搞music时发现并非如此,
虽然mediaplaybackactivity设置为singletask,但是当按home键后,如果再次通过playlistactivity启动,仍走的是onresume。这样新的intent就无法传过来。
修改menifest属性,加上android:taskAffinity=""
android:taskAffinity=""
android:launchMode="singleTask"
发现这样就可以走onNewIntent。
不过这样也有一个弊端,那就是在mediaplaybackactivity界面按home键,再点击音乐时不会回到原来界面。
原因。。。。?
原因是
android:taskAffinity=""
android:launchMode="singleTask"
会让该activity单独起一个task。这样如果安息home键在点击音乐,会启动音乐的task,而mediaplaybackactivity是在另外的task上,所以无法启动。
因此以上两个属性很类似与singleinstance。
注: android:taskAffinity=""的意思是不依附于任何task,也就是自己新建一个task。
具体可以参考下面的文章:
转自http://hi.baidu.com/amauri3389/blog/item/a54475c2a4b2f040b219a86a.html
参见:http://mypyg.iteye.com/blog/919643