2011年12月28日 星期三

Android - Activity設計建議(2)

(6)如果你的activity會送資料給其它程式,應該設計一個選項讓user知道。利如Gallery會有Share的功能,按下後可以把資料 送給Facebook,Mail,Messages,Twitter....等。這個時候要特別注意建議(2)有可能發生的錯誤。當想要啟動一個 Activity時,如果會再次返回原Activity並得到一些資料,可以使用startActivityResult()。如果不需要在返回時取得資 料就可以用startActivity()


(7)你的Activity可以依特殊需求設計成Widget,而且Widget除了可以放在Home上面之外,也可以放在其它的application上,如果一來可以依需求不停的update內容。


(8) 如果你的Activity會被其它application執行,為了讓activity不會影響該application返回(按下return key)的行為,launch mode盡量使用standard 或 singleTop 而不要使用 singleTask or singleInstanc。Launch mode四者的差別請參考http://slashgill.blogspot.com/search/label/launchMode


(9) 當使用者由Activity A 按下notification到Activity B後,若按下 Back Key 時應該要能正確返回 Activity A。這時候為了避免Activity B按下Back Key會執行該application的其它activity(如果這些activity曾被執行而留在activity stack裡面的話),因此要把Activity B的taskAffinity設定空字串(不可以不設定)


(10)相較於上面的另一種作法是用在執行Activity B的時候,先設定FLAG_ACTIVITY_CLEAR_TOP和ACTIVITY_NEW_TASK,這樣到時候從Activity B按下Back Key時,就會回到Activity A


(11)盡可能不要改變Back Key的行為,才不會影響使用者原本的操作習慣。

沒有留言:

張貼留言