Windows phone 7之啟動器與選取器

來源:互聯網
上載者:User

和android不同,wp7不允許調用原生功能結合自己的程式完成一些工作,要想使用那些功能只能調用系統封裝好的介面,這些介面會啟動系統的功能,基本都是帶介面的,所以無法嵌入邏輯中,只能中斷當前邏輯,把操作權交給系統。如果是啟動器,則程式邏輯到此結束,如果是選取器,則等待使用者操作完畢,取得返回結果,繼續下面的邏輯。那麼如何區分啟動器和選取器呢,只能從功能上區分,帶有返回結果的就是選取器,無返回結果,只是啟動系統的功能的便是啟動器。啟動器和選取器被封裝到Microsoft.Phone.Tasks命名空間中,下面是所有啟動器和選取器的類列表

AddressChooserTask

允許應用程式啟動“連絡人”應用程式。使用此方法擷取使用者選擇的連絡人的物理地址。

BingMapsDirectionsTask

允許應用程式啟動“Bing 地圖”應用程式,指定要顯示其行車路線的開始位置或結束位置,或者同時指定兩者。

BingMapsTask

允許應用程式啟動 Bing 地圖應用程式,並定位於 Center 屬性指定的位置或使用者的當前位置。如果設定了 SearchTerm,則會在地圖上標記與搜尋術語匹配的位置。

CameraCaptureTask

允許應用程式啟動“相機”應用程式。使用此方法可允許使用者通過您的應用程式拍攝照片。

ConnectionSettingsTask

允許應用程式啟動一個“設定”對話方塊,該對話方塊允許使用者更改裝置的網路連接設定。

EmailAddressChooserTask

允許應用程式啟動“連絡人”應用程式。使用此方法擷取使用者選擇的連絡人的電子郵件地址。

EmailComposeTask

允許應用程式通過顯示的新郵件啟動“電子郵件”應用程式。使用此方法可允許使用者通過您的應用程式寄送電子郵件。

GameInviteTask

允許應用程式顯示一個遊戲邀請螢幕,該螢幕允許使用者邀請玩家加入多玩家遊戲會話。

MarketplaceDetailTask

允許應用程式啟動 Windows Phone 商城 用戶端應用程式並顯示指定產品的詳細資料頁面。

MarketplaceHubTask

允許應用程式啟動 Windows Phone 商城 用戶端應用程式。

MarketplaceReviewTask

允許應用程式啟動 Windows Phone 商城 用戶端應用程式並顯示指定產品的評論頁面。

MarketplaceSearchTask

允許應用程式啟動 Windows Phone 商城 用戶端應用程式並顯示指定搜尋術語的搜尋結果。

MediaPlayerLauncher

允許應用程式啟動媒體播放器。

PhoneCallTask

允許應用程式啟動“手機”應用程式。使用此方法可允許使用者通過您的應用程式撥打到電話。

PhoneNumberChooserTask

允許應用程式啟動“連絡人”應用程式。使用此方法可擷取使用者選擇的連絡人的電話號碼。

PhotoChooserTask

允許應用程式啟動“照片選取器”應用程式。使用此方法可允許使用者選擇照片。

SaveContactTask

提供用於啟動連絡人應用程式以及使使用者能夠儲存連絡人的方法和事件。

SaveEmailAddressTask

允許應用程式啟動“連絡人”應用程式。使用此方法可允許使用者將應用程式中的電子郵件地址儲存到新的或現有的連絡人。

SavePhoneNumberTask

允許應用程式啟動“連絡人”應用程式。使用此方法可允許使用者將應用程式中的電話號碼儲存到新的或現有的連絡人。

SaveRingtoneTask

使應用程式能夠啟動鈴聲應用程式。使用 SaveRingtoneTask 可允許使用者將應用程式中的鈴聲儲存到系統鈴聲列表。

SearchTask

允許應用程式啟動“Web 搜尋”應用程式。

ShareLinkTask

允許應用程式啟動一個對話方塊,該對話方塊允許使用者在其選擇的社交網路上共用連結。

ShareStatusTask

允許應用程式啟動一個對話方塊,該對話方塊允許使用者在其選擇的社交網路上共用狀態資訊。

SmsComposeTask

通過顯示的新簡訊啟動“簡訊”應用程式。

WebBrowserTask

允許應用程式啟動“網頁瀏覽器”應用程式。

上面是各種啟動器和選取器的類名和簡單家少,我在這裡列舉幾個簡單的例子,這些都是比較簡單的調用,不會有任何複雜的程式,wp7設計之初就已經決定,我們無法在這上面大展手腳。我也就沒必要都示範一遍了。

先寫兩個選取器的執行個體

PhoneCallTask

PhoneCallTask task = new PhoneCallTask();task.PhoneNumber = "15000001245";task.DisplayName = "dhc";task.Show();

運行介面如下

WebBrowserTask

WebBrowserTask task = new WebBrowserTask();task.URL = "http://www.baidu.com";task.Show();

運行結果

MarketplaceHubTask

MarketplaceHubTask task = new MarketplaceHubTask();task.ContentType = MarketplaceContentType.Applications;task.Show();

運行介面如下

下面寫兩個選取器的執行個體

PhoneNumberChooserTask

下面是PhoneNumberChooserTask選取器與SmsComposeTask啟動器結合使用的代碼,選擇一個電話號碼,然後啟動簡訊功能,並預設寫入"這事簡訊"內容

PhoneNumberChooserTask contactsTask = new PhoneNumberChooserTask();            contactsTask.Completed += (s, evt) =>            {                if (evt.Error == null && evt.TaskResult == TaskResult.OK)                {                    SmsComposeTask smsTask = new SmsComposeTask();                    smsTask.Body = "這事簡訊.";                    smsTask.To = evt.PhoneNumber;                    smsTask.Show();                }            };            contactsTask.Show();

運行代碼,選擇一個電話,結果如下

CameraCaptureTask

CameraCaptureTask task = new CameraCaptureTask();            task.Completed += (s, evt) =>            {                if (evt.Error == null && evt.TaskResult == TaskResult.OK)                {                    BitmapImage bmpImage = new BitmapImage();                    bmpImage.SetSource(evt.ChosenPhoto);                    image.Source = bmpImage;                }            };            task.Show();

真機不方便,模擬器中照相機啟動器運行效果如

 

PhotoChooserTask

PhotoChooserTask task = new PhotoChooserTask();;                    task.Completed += new EventHandler<PhotoResult>(pc_Completed);            task.Show();void pc_Completed(object sender, PhotoResult e)         {             if (e.TaskResult == TaskResult.OK)             {                 BitmapImage bmpSource = new BitmapImage();                 bmpSource.SetSource(e.ChosenPhoto);                 image.Source = bmpSource;             }             else             {                 image.Source = null;             }         }

運行結構如

好了就介紹這麼多吧,剩下的自己試試就行了,很假單的,都是這種形式

本來不打算這麼早介紹純WP7的東西,但是又怕別人說我是混人氣,就提前寫了這一篇,下一篇還是回到比較重要的基礎知識上,初學者別著急,會讓你們滿意的,有經驗的童鞋也別急,會寫你們感興趣的東西,大牛的東西在後面呢。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.