技术开发 频道

Windows Phone 7应用中使用Launcher

  【IT168技术】为了实现隔离,Windows Phone 7平台不提供应用程序直接访问某些手机功能,如联系人,发送邮件或拍照,这些功能都通过沙盒的形式提供,但是,当合法应用程序需要直接访问这些功能时,有一些辅助API可以提供这些功能,这些API调用不同的内置应用程序,替换掉当前运行的应用程序来完成这些任务(发送邮件,拍照等)。

  Launcher定义

  Launcher是一套启动Windows Phone 7平台内置应用程序的API,如发送一封邮件或通过内置照相机拍照。

  开发人员在他们的应用程序中可以调用Launcher API执行特定的任务,例如,你可以提供一个电话号码给Launcher API,它就可以帮你拨打该电话,并从当前正在执行的应用程序切换到呼叫应用程序,当用户打完电话后,上下文又切回到原先正在执行的应用程序。

  需要注意的是Launcher API没有返回值。

  Launcher的类型

  Windows Phone 7有以下Launcher种类:

  l 书写邮件

  l Marketplace详细信息

  l Marketplace中心

  l Marketplace评论

  l Marketplace搜索

  l 启动Media Player

  l 拨打电话

  l 搜索

  l 书写SMS

  l 浏览网页

  下面我们来看看在一个应用程序中如何使用这些Launcher

  动手实践

  让我们从为Windows Phone创建一个新的Silverlight C#项目开始,我将其命名为LauncherDemo。


▲图 1 为Windows Phone创建一个新的Silverlight C#项目

  添加一个按钮,命名为“启动Media Player”。

  在MainPage.xaml.cs中,添加一个Microsoft.Phone.Tasks命名空间的引用指令。

  在按钮双击事件中,添加以下代码:

  private void button1_Click(object sender, RoutedEventArgs e)

  {

  MediaPlayerLauncher mediaPlayerLauncher
= new MediaPlayerLauncher();

  mediaPlayerLauncher.Media
= new Uri("http://media.ch9.ms/ch9/e77b/b21d7957-7a8e-4f0b-8cf5-9e8c011de77b/sltv62_ch9.wmv", UriKind.RelativeOrAbsolute);

  mediaPlayerLauncher.Location
= MediaLocationType.Data;

  mediaPlayerLauncher.Controls
= MediaPlaybackControls.Pause | MediaPlaybackControls.Stop;

  mediaPlayerLauncher.Show();

  }

  你会注意到我们传递了一个来自互联网的媒体文件,你可以在MSDN第9频道看到这个视频。

  现在,当你在模拟器中编译和运行这个应用程序时,你会听到播放这个WMV文件产生的音乐。

  你可以通过播放MSDN第9频道上的视频来验证你的确是在播放一个真正来自互联网的文件。

  如果你在播放期间使用后退按钮,你将返回到LauncherDemo应用程序。

  如果将这个XAP文件部署到一部手机上,你可以真正看到视频和听到声音,使用Windows Phone模拟器时,你只能听到声音(这是由模拟器的当前版本限制的)。

  如果你在尝试过程中遇到了问题,你可以下载本文使用的Demo代码。

0
相关文章