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


本篇為大家介紹一下 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("shaom_wp@hotmail.com", "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 來啟動必應地圖的 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));

如上代碼中,我們啟動必應地圖,在級別為10的情況下顯示搜索的結果,也就是Beijing。來看運行結果:

6. 地圖路線顯示

我們同樣使用 Windows.System.Launcher 的 LaunchUriAsync 來啟動必應地圖的 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 中部分常用的啟動器介紹完了,希望對大家有幫助,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM