標籤:style blog class code java tar
本篇為大家介紹一下 Windows Phone 8.1 中部分常用啟動器的實現方式。分別是 呼叫電話、傳送簡訊、發送郵件、添加約會到日曆、啟動地圖、地圖路線顯示、地圖下載 和 地圖更新。
1. 呼叫電話
我們使用 PhoneCallManager 的 ShowPhoneCallUI 方法來實現呼叫電話。該方法的兩個參數分別是 電話號碼 和 顯示名稱。
Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI("10086", "中國移動");
2. 傳送簡訊
我們使用 ChatMessageManager 的 ShowComposeSmsMessageAsync 方法來實現傳送簡訊。該方法接收的參數為一個 ChatMessage 對象,其中重要的屬性是 Body (資訊內容)和 Recipients (發送到的電話號碼集合)。
Windows.ApplicationModel.Chat.ChatMessage msg = new Windows.ApplicationModel.Chat.ChatMessage();msg.Body = "This is body of demo message.";msg.Recipients.Add("10086");msg.Recipients.Add("10010");await Windows.ApplicationModel.Chat.ChatMessageManager.ShowComposeSmsMessageAsync(msg);
3. 發送郵件
我們使用 EmailManager 的 ShowComposeNewEmailAsync 方法來實現傳送簡訊。該方法接收的參數為一個 EmailMessage 對象,其中有幾個重要的屬性:
- To : 收件者清單
- Bcc:Bcc列表
- CC :CC列表
- Subject:郵件主題
- Body:郵件內文
- Attachments:附件列表
var file = await getAttachment(); Windows.ApplicationModel.Email.EmailAttachment emailAttachment = new Windows.ApplicationModel.Email.EmailAttachment(file.Name, file); Windows.ApplicationModel.Email.EmailMessage mail = new Windows.ApplicationModel.Email.EmailMessage(); mail.Attachments.Add(emailAttachment); mail.Subject = "This is Subject"; mail.Body = "This is body of demo mail"; mail.To.Add(new Windows.ApplicationModel.Email.EmailRecipient("[email protected]", "shaomeng")); await Windows.ApplicationModel.Email.EmailManager.ShowComposeNewEmailAsync(mail);
其中 getAttachment 方法如下:
private async Task<StorageFile> getAttachment() { var folder = Windows.Storage.ApplicationData.Current.LocalFolder; var subfolder = await folder.CreateFolderAsync("MyFolder", Windows.Storage.CreationCollisionOption.OpenIfExists); var file = await subfolder.CreateFileAsync("MyAttachment.txt", Windows.Storage.CreationCollisionOption.ReplaceExisting); await Windows.Storage.FileIO.WriteTextAsync(file, "Hello World!"); return file; }
4. 添加約會到日曆
我們使用 AppointmentManager 的 ShowAddAppointmentAsync 方法來向日曆添加我們定義的約會,同時可以對現有約會進行管理。該方法接收參數為 Appointment 對象。有幾個重要的屬性:
- Subject - 約會的主題
- Location - 約會的位置
- Details - 約會的詳細內容
- Duration - 約會持續的時間
- StartTime - 約會開始的時間
- AllDay - 是否持續整天
另外還有很多可設定屬性,不再一一例舉,大家可以自行研究。來看看代碼實現:
Windows.ApplicationModel.Appointments.Appointment appointment = new Windows.ApplicationModel.Appointments.Appointment(); appointment.AllDay = false; appointment.Details = "Appointment‘s Detail"; appointment.Duration = TimeSpan.FromHours(2.0); appointment.Location = "Demo Location"; appointment.StartTime = DateTime.Now; appointment.Subject = "Demo Subject"; await Windows.ApplicationModel.Appointments.AppointmentManager.ShowAddAppointmentAsync(appointment, new Rect());
我們建立了一個現在開始,持續兩小時的約會。來看看運行效果:
5. 啟動地圖
我們使用 Windows.System.Launcher 的 LaunchUriAsync 來啟動Bing 地圖服務的 Uri,Uri 的格式是 bingmaps:uri scheme。具體的uri scheme,請參照:URI Scheme for maps application 。
await Windows.System.Launcher.LaunchUriAsync(new Uri("bingmaps:?lvl=10&where=Beijings", UriKind.Absolute));
如上代碼中,我們啟動Bing 地圖服務,在層級為10的情況下顯示搜尋的結果,也就是Beijing。來看運行結果:
6. 地圖路線顯示
我們同樣使用 Windows.System.Launcher 的 LaunchUriAsync 來啟動Bing 地圖服務的 Uri 以顯示路線規劃,具體格式同樣可參照:URI Scheme for maps application。
await Windows.System.Launcher.LaunchUriAsync(new Uri("bingmaps:?rtp=adr.Beijing~adr.Tianjin", UriKind.Absolute));
這是我們要顯示Beijing 到 Tianjin 的路線,來看看運行結果:
7. 地圖下載
我們使用 MapManager 的 ShowDownloadedMapsUI 方法來啟動地圖下載介面。
Windows.Services.Maps.MapManager.ShowDownloadedMapsUI();
8. 地圖更新
我們使用 MapManager 的 ShowMapsUpdateUI 方法來啟動地圖更新介面。
Windows.Services.Maps.MapManager.ShowMapsUpdateUI();
好了,到這裡我們就把Windows Phone 8.1 中部分常用的啟動器介紹完了,希望對大家有協助,謝謝。