Windows Phone 7 Tips (3)
1、Windows Phone 7是一个多任务的操作系统,但是只允许唯一一个第三方应用程序在前台运行。
2、启动器和选择器为应用程序提供间接访问手机内置功能的方法。
一些内置的启动器:EmailComposeTask、MarketplaceDetailTask、MarketplaceHubTask、MarketplaceReviewTask、MarketplaceSearchTask、MediaPlayerLauncher、PhoneCallTask、SearchTask、SmsComposeTask、WebBrowserTask。
一些内置的选择器:CameraCaptureTask、EmailAddressChooserTask、PhoneNumberChooserTask、PhotoChooserTask、SaveEmailAddressTask、SavePhoneNumberTask。
3、当启动启动器或者选择器时,应用程序会进入Deactivate状态(注意不一定会Tombstone)当Task只写完毕后,原有应用程序会被重新激活,应用程序会调用Activated事件,页面会触发OnNavigationTo事件。
4、如果Windows Phone 7中的应用程序被Tombstone了,那么再次打开应用程序时,会生成一个新的实例,即会调用App和页面的构造函数,所以我们的逻辑代码不要放到构造函数中,而是在Application_Activated、OnNavigationTo事件中写恢复状态的代码。
5、判断Windows Phone 7中的网络是否可用。
if (Microsoft.Phone.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) { //网络可用情况下的代码 } else { //网络不可用,给以提示 }
6、Windows Phone 7中的导航类:PhoneApplicationFrame 和 PhoneApplicationPage . Windows Phone 7中的别名导航支持如下的:
<nav:UriMapper x:Key="nav">
<nav:UriMapping Uri="Home" MappedUri="/Pages/Views/Default.xaml"/>
<nav:UriMapping Uri="About-Us" MappedUri="/Pages/Views/Misc/About.xaml"/>
<nav:UriMapping Uri="Page/{number}" MappedUri="/Pages/Views/Books/Page{number}.xaml"/>
<nav:UriMapping Uri="Customers/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getCustomer&id={id}"/>
<nav:UriMapping Uri="Products/{id}" MappedUri="/Pages/Views/Data/Page.xaml?action=getProduct&id={id}"/>
<nav:UriMapping Uri="Orders/{type}&{id}&{date}" MappedUri="/Pages/Views/Data/Page.xaml?action={type}&orderId={id}&orderDate={number}"/>
</nav:UriMapper>
7、WMAppManifest.xml :一个包含了应用程序特定数据的元数据文件,包括标题,图标位置,功能等等。
8、页面导航方案:
(1)在XAML代码直接写XAML文件地址,如:
<HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"
Margin="10,10,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" />
(2)在XAML代码中利用别名进行导航,需要在App.xaml中配置。
(3)利用事件处理,如 NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));
9、各种启动器的描述:
EmailComposeTask–允许用户通过邮件账户发送电子邮件。
MarketplaceDetailTask–启动Windows Phone Marketplace,让用户查看某个特定的产品。
MarketplaceHubTask–启动Windows Phone Marketplace,默认情况下允许你显示某一类别的应用程序。
MarketplaceReviewTask–将用户带到Windows Phone Marketplace中当前程序的评论页。
MarketplaceSearchTask–启动Windows Phone Marketplace的搜索结果,此结果来源于用户输入的搜索项(或者是你来制定的)。
MediaPlayerLauncher–启动内置的媒体播放器,并播放你指定的媒体文件。
PhoneCallTask–启动电话程序并显示电话号码和姓名。电话只在用户点击“通话”后才会拨出。
SearchTask– 可以把这个看成是在你的程序中提供Bing搜索功能的途径。
SMSComposeTask –启动信息程序并向用户展示发送信息的功能。你可以指定信息接收人和信息内容,但只能通过用户来发送。
WebBrowserTask–打开网络浏览器,跳转到指定的URL。
10、各种选择器的描述:
CameraCaptureTask – 为用户提供在程序中直接拍照的功能。
EmailAddressChooserTask – 在程序中允许用户从联系人里面选择一个邮件地址。
PhoneNumberChooserTask – 在程序中允许用户从联系人里面选择一个电话号码。
PhotoChooserTask – 在程序中允许用户从设备里选择一张照片。
照例,提供离线文件下载 。