Windows Phone 8.1 新特性 - 常用的啟動器

來源:互聯網
上載者:User

標籤: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 中部分常用的啟動器介紹完了,希望對大家有協助,謝謝。

相關文章

聯繫我們

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