Windows Phone 8.1 新特性 - 常用的启动器

时间:2014-05-07 20:31:09   收藏:0   阅读:496

本篇为大家介绍一下 Windows Phone 8.1 中部分常用启动器的实现方式。分别是 呼叫电话、发送短信、发送邮件、添加约会到日历、启动地图、地图路线显示、地图下载 和 地图更新。

1. 呼叫电话

我们使用 PhoneCallManager 的 ShowPhoneCallUI 方法来实现呼叫电话。该方法的两个参数分别是 电话号码 和 显示名称。

Windows.ApplicationModel.Calls.PhoneCallManager.ShowPhoneCallUI("10086", "中国移动");

bubuko.com,布布扣 bubuko.com,布布扣

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);

bubuko.com,布布扣

3. 发送邮件

我们使用 EmailManager 的 ShowComposeNewEmailAsync 方法来实现发送短信。该方法接收的参数为一个 EmailMessage 对象,其中有几个重要的属性:

bubuko.com,布布扣
    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);
bubuko.com,布布扣

其中 getAttachment 方法如下:

bubuko.com,布布扣
    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;
    }
bubuko.com,布布扣

bubuko.com,布布扣

4. 添加约会到日历

我们使用 AppointmentManager 的 ShowAddAppointmentAsync 方法来向日历添加我们定义的约会,同时可以对现有约会进行管理。该方法接收参数为 Appointment 对象。有几个重要的属性:

另外还有很多可设置属性,不再一一例举,大家可以自行研究。来看看代码实现:

bubuko.com,布布扣
    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());
bubuko.com,布布扣

我们新建了一个现在开始,持续两小时的约会。来看看运行效果:

bubuko.com,布布扣 bubuko.com,布布扣 bubuko.com,布布扣

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。来看运行结果:

bubuko.com,布布扣

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 的路线,来看看运行结果:

bubuko.com,布布扣 bubuko.com,布布扣

7. 地图下载

我们使用 MapManager 的 ShowDownloadedMapsUI 方法来启动地图下载界面。

    Windows.Services.Maps.MapManager.ShowDownloadedMapsUI();

bubuko.com,布布扣

8. 地图更新 

我们使用 MapManager 的 ShowMapsUpdateUI 方法来启动地图更新界面。

    Windows.Services.Maps.MapManager.ShowMapsUpdateUI();

bubuko.com,布布扣

好了,到这里我们就把Windows Phone 8.1 中部分常用的启动器介绍完了,希望对大家有帮助,谢谢。

Windows Phone 8.1 新特性 - 常用的启动器,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!