Windows Phone 7的Launchers&Choosers簡介及其行為淺析

來源:互聯網
上載者:User

本文簡單介紹Launchers和Choosers的概念,以及它們的區別,簡述各個Launcher和Chooser的功能,並分析它們的行為。

Launchers和Choosers是為了統一調用系統提供的服務(程式),讓每個第三方應用程式調用相同系統功能時,保持介面的一致性。

Launchers

啟動器:啟動Windows Phone 7內建應用程式程式。

包括以下幾個:

EmailComposeTask:啟動發送Email的應用程式。

MediaPlayerLauncher:啟動MeidaPlayer應用程式。

PhoneCallTask:啟動打電話應用程式。

SearchTask:啟動搜尋應用程式。

SmsComposeTask:啟動發簡訊應用程式。

WebBrowserTask:啟動IE。

MarketplaceDetailTask:啟動Marketplace用戶端應用程式,並顯示指定應用的詳細資料。

MarketplaceHubTask:啟動Marketplace用戶端應用程式。

MarketplaceReviewTask:啟動Marketplace用戶端應用程式的審查頁面。

MarketplaceSearchTask:啟動Marketplace用戶端應用程式的搜尋網頁面。

Choosers

選取器:調用Windows Phone 7的應用程式選擇所需要的資訊(例如照片,電話等)

CameraCaptureTask:啟動照相介面,拍照後返回照片映像。

EmailAddressChooserTask:啟動選Email地址介面,選擇後返回Email地址。

PhoneNumberChooserTask:啟動電話號碼選擇介面,選擇後返回電話號碼。

PhotoChooserTask:啟動圖片選擇介面,選擇後返回映像資訊。

SaveEmailAddressTask:啟動儲存Email地址介面,選擇後返回儲存是否成功。

SavePhoneNumberTask:啟動儲存電話號碼介面,選擇後返回儲存是否成功。

啟動器和選取器怎樣區別?

啟動器只是負責把相應的應用程式啟動起來就可以了。

選取器需要將相應的應用程式介面啟動,等待操作結束返回的結果。

Launcher行為分析

通常情況下,Laucher啟動後,App.xaml.cs中的Application_Deactivated方法被執行,應用程式進入Deactivating狀態;當Launcher操作結束,Application_Activated方法被執行,返回到應用程式,進入Activating狀態。不過PhoneCallTask和MediaPlayerLauncher有些特別。

統計詳見下表:

  Application_Deactivated Application_Activated 所在頁面的建構函式
EmailComposeTask 執行 執行 執行
MediaPlayerLauncher 執行 執行 不執行
PhoneCallTask 不執行 不執行 不執行
SearchTask 執行 執行 執行
SmsComposeTask 執行 執行 執行
WebBrowserTask 執行 執行 執行
MarketplaceDetailTask 執行 執行 執行
MarketplaceHubTask 執行 執行 執行
MarketplaceReviewTask 執行 執行 執行
MarketplaceSearchTask 執行 執行 執行

PhoneCallTask彈出的可以視為是一個MessageBox,只是對程式覆蓋,並未將應用程式切換到後台,所以都未執行。

MediaPlayerLauncher啟動後,按返回鍵,返回到應用程式所在頁面時,並不執行該頁面的建構函式,其他Launcher卻都執行,沒想明白,誰知道請留言,謝謝!

Chooser行為分析

通常情況下,Chooser啟動後,

  Application_Deactivated Application_Activated 所在頁面的建構函式
CameraCaptureTask 執行 執行 不執行
EmailAddressChooserTask 執行 執行 不執行
PhoneNumberChooserTask 執行 執行 不執行
PhotoChooserTask 執行 執行 不執行
SaveEmailAddressTask 執行 執行 執行
SavePhoneNumberTask 執行 執行 執行

從上表可以看出後兩個SaveEmailAddressTask和SavePhoneNumberTask的行為與前面四個不同,前四個Chooser執行完畢後,自動返回到應用程式調用它的頁面,而這兩個Chooser執行完畢後,不會自動返回,而需要按返回鍵,返回到之前調用它的頁面。

因此如果不在建構函式中建立(new)和Cempleted事件的綁定,後連個Chooser將無法正常工作。

建議將Chooser的建立(new)和Completed事件的綁定操作都放到建構函式中,不要放置到其它位置。

代碼下載

 

參考文章:

http://msdn.microsoft.com/en-us/library/ff769556(VS.92).aspx

Windows Phone 7 Training Kit for Developers--Lab_LaunchersAndChoosersWP7Lab

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.