日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows phone 8 学习笔记(4) 应用的启动

發布時間:2023/12/19 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows phone 8 学习笔记(4) 应用的启动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Windows phone 8 的應用除了可以直接從開始菜單以及應用列表中打開外,還可以通過其他的方式打開。照片中心、音樂+視頻中心提供擴展支持應用從此啟動。另外,我們還可以通過文件關聯、URI關聯的方式啟動應用。

快速導航:
??? 一、擴展音樂+視頻中心
??? 二、擴展照片中心
??? 三、文件關聯以及SD卡訪問
??? 四、URI關聯
??? 五、啟動我的其他應用和啟動內置應用

一、擴展音樂+視頻中心

1)在音樂+視頻中心啟動應用

擴展音樂+視頻中心第一步就是要保證應用可以從音樂+視頻中心啟動,我們需要手工修改 Windows Phone 的應用清單文件,在WMAppManifest.xml文件上右鍵,選擇打開方式,用XML文本編輯器打開,我們需要設置App 節點下 HubType 值為1,代碼如下:

[XML]? <App xmlns="" HubType="1" ProductID="{4887def4-a91a-465f-8eda-a3b07d8c12c2}" Title="音視擴展示例" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="Phone音視擴展 author" Description="Sample description" Publisher="Phone音視擴展"> ...... </App>

2)更新歷史記錄、最新上市列表

應用集成到音樂+視頻中心后,我們可以更新音樂+視頻中心的歷史記錄列表、歷史記錄正在播放圖塊、最新上市列表等,下面代碼描述了更新的方式。

[C#] //根據song構建MediaHistoryItem(媒體項目信息)private MediaHistoryItem getMediaHistoryItem(Song song){MediaHistoryItem mediaHistoryItem = new MediaHistoryItem();//當前歌曲專輯的縮略圖mediaHistoryItem.ImageStream = song.Album.GetThumbnail();mediaHistoryItem.Source = string.Empty;//音樂名,會顯示在縮略圖上mediaHistoryItem.Title = song.Name;mediaHistoryItem.PlayerContext.Add("KeySring", song.Name);return mediaHistoryItem;}//更新歷史記錄列表中的正在播放private void updatePlaying(Song song){MediaHistory.Instance.NowPlaying = getMediaHistoryItem(song);}//更新歷史記錄列表private void updateHistoryList(Song song){MediaHistory.Instance.WriteRecentPlay(getMediaHistoryItem(song));}//更新最新上市列表private void updateNewList(Song song){MediaHistory.Instance.WriteAcquiredItem(getMediaHistoryItem(song));}

我們除了可以對媒體庫的音樂進行更新歷史記錄和最新上市列表外,也可以自定義其他音樂。這樣非媒體庫的的音樂也可以更新。但是可能會存在一些問題。下面代碼演示了把安裝文件夾的音樂播放出來,并更新正在播放列表。

[C#] //從安裝文件夾讀取專輯縮略圖 StreamResourceInfo jpgStreamResourceInfo = Application.GetResourceStream(new Uri("myImg.jpg", UriKind.Relative));MediaHistoryItem mediaHistoryItem = new MediaHistoryItem(); //當前歌曲專輯的縮略圖 mediaHistoryItem.ImageStream = jpgStreamResourceInfo.Stream; mediaHistoryItem.Source = string.Empty; //音樂名,會顯示在縮略圖上 mediaHistoryItem.Title = "我的音樂"; mediaHistoryItem.PlayerContext.Add("KeySring", "我的音樂"); //準備播放 mediaElement1.Source = new Uri("1.mp3", UriKind.Relative); mediaElement1.Play();//更新音樂視頻中心的正在播放,非媒體庫音樂貌似要重啟手機才可以看到效果,不知道是不是BUG。 MediaHistory.Instance.NowPlaying = mediaHistoryItem;

3)從歷史記錄和最新上市啟動時的播放處理

當用戶在音樂+視頻中心點擊對應項目時,則會自動啟動我們的應用,這個時候我們需要進行一些處理,來確定播放哪一個音樂。我們這里的處理邏輯僅僅考慮媒體庫中存在的音樂。

[C#] protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){//從音樂視頻中心啟動時,播放相應項。MediaLibrary library = new MediaLibrary();Song _playingSong = null;if (NavigationContext.QueryString.ContainsKey("KeySring")){String songToPlay = NavigationContext.QueryString["KeySring"];foreach (Song song in library.Songs){if (songToPlay == song.Name){_playingSong = song;break;}}if (_playingSong != null)MediaPlayer.Play(_playingSong);}base.OnNavigatedTo(e);}

?

二、擴展照片中心

某些時候,用戶可能希望直接從照片中心啟動與照片處理相關的應用,或者在瀏覽照片時隨手美化渲染照片,或者共享上傳到網絡、發送到其他應用,這個時候,我們就需要對照片中心進行擴展,擴展之后我們的應用就可以在這里直接啟動。

1)相關擴展點介紹

1.照片中心:擴展之后用戶可以直接在照片中心啟動您的應用。如下圖:

2.擴展共享選取器:可以從“共享”鏈接啟動應用,并提供將用戶的照片共享到其他位置、網絡,或者電子郵件。效果如下圖:
?????

3.擴展照片編輯選取器:可以從“編輯”鏈接啟動應用并允許用戶編輯他們的照片,如果沒有應用擴展此處,則打開內置照片編輯,否則彈出選擇頁面。效果如下圖:

4.擴展富媒體應用:可如果照片是用當前應用保存或者修改后的,則照片會顯示特殊的打開鏈接,富媒體并不是指對照片本身編輯,而是包含圖片文字說明等,以及用于網絡交互等富編輯,比如微博應用。效果如下圖:
????

5.擴展照片應用選取器:這個擴展僅僅在WP7中被支持,以后版本已經棄用。相當于WP8中的編輯以及富編輯。

2)擴展照片中心

擴展照片中心需要編輯清單文件,右鍵點擊WMAppManfiest.xml 文件,選擇打開方式,在彈出窗口中選擇XML文本編輯器打開。在 Tokens 元素之后,在 Extensions 元素內添加如下代碼:

[XML] <Extensions><!--擴展照片中心--><Extension ExtensionName="Photos_Extra_Hub" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /></Extensions>

3)擴展照片查看器

上面已經介紹過了圖片查看器的相關擴展點,下面我們通過代碼演示如何實現這些擴展。首先,每個擴展點都需要清單文件的支持,下面我們需要在同樣的位置添加 Extensions項。代碼如下:

[XML] <Extensions><!--擴展照片中心--><Extension ExtensionName="Photos_Extra_Hub" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /><!--擴展共享選取器--><Extension ExtensionName="Photos_Extra_Share" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /><!--擴展富媒體應用--><Extension ExtensionName="Photos_Rich_Media_Edit" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /><!--擴展照片編輯選取器--><Extension ExtensionName="Photos_Extra_Image_Editor" ConsumerID="{5B04B775-356B-4AA0-AAF8-6491FFEA5632}" TaskID="_default" /></Extensions>
??? 在清單文件支持這些擴展之后,當用戶通過擴展啟動應用,照片中心默認啟動我們應用的MainPage.xaml,同時通過URI參數告訴我們是哪張圖片,該做什么處理。下面我們通過在MainPage.xaml中解析URI參數來實現接受相關處理參數信息。如果您的應用有專門的頁面處理,則需要實現URI映射,URI映射請看這里。
[XAML] <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"><Image x:Name="image1" HorizontalAlignment="Left" Height="480" Margin="10,80,0,0" VerticalAlignment="Top" Width="436"/><TextBlock HorizontalAlignment="Left" Margin="10,36,0,0" TextWrapping="Wrap" Text="圖片來源方式:" VerticalAlignment="Top"/><Button Content="保存" HorizontalAlignment="Left" Margin="315,609,0,0" VerticalAlignment="Top" Click="Button_Click_1"/><TextBlock x:Name="textBlock1" Foreground="Yellow" HorizontalAlignment="Left" Margin="170,36,0,0" Grid.Row="1" TextWrapping="Wrap" Text="未知" VerticalAlignment="Top"/></Grid> [C#] Picture selectedPicture;protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){IDictionary<string, string> queryStrings = this.NavigationContext.QueryString;if (!queryStrings.ContainsKey("Action")){textBlock1.Text = "無來源";}else{string action = queryStrings["Action"];switch (action){case "ShareContent": textBlock1.Text = "共享選取器";break;case "RichMediaEdit": textBlock1.Text = "富媒體應用";break;case "EditPhotoContent": textBlock1.Text = "照片編輯選取器";break;}MediaLibrary library = new MediaLibrary();if (queryStrings.ContainsKey("FileId")) selectedPicture = library.GetPictureFromToken(queryStrings["FileId"]);else if (queryStrings.ContainsKey("token")) selectedPicture = library.GetPictureFromToken(queryStrings["token"]);else return;BitmapImage bitmapFromPhoto = new BitmapImage();bitmapFromPhoto.SetSource(selectedPicture.GetImage());image1.Source = bitmapFromPhoto;}base.OnNavigatedTo(e);}//保存圖片private void Button_Click_1(object sender, RoutedEventArgs e){MediaLibrary library = new MediaLibrary();library.SavePicture(selectedPicture.Name, selectedPicture.GetImage());}

4)擴展方式總結

上面我們發現通過照片查看器啟動的URI中都有一個Action參數,還有一個參數要么是FileId,要么是token。下面列表歸納一下:

擴展點清單文件中的擴展名稱URI啟動關聯地址支持的平臺
照片中心Photos_Extra_Hub?WP7\WP8
共享選取器Photos_Extra_Share/MainPage.xaml?Action=ShareContent&FileId=[GUID]WP7\WP8
富媒體應用Photos_Rich_Media_Edit/MainPage.xaml?Action=RichMediaEdit&token=[GUID]WP8
照片編輯選取器Photos_Extra_Image_Editor/MainPage.xaml?Action=EditPhotoContent&FileId=[GUID]WP8
照片應用選取器Photos_Extra_Viewer/MainPage.xaml?token=[GUID]WP7

?

三、文件關聯以及SD卡訪問

文件關聯,顧名思義,就類似于Windows系統中注冊默認的啟動程序一樣。我們也可以注冊我們的應用為某些后綴名文件的默認啟動程序。之前我們講過,一個應用可訪問的存儲位置只有安裝文件夾、本地文件夾、媒體庫這三個位置,但是我們可以通過注冊文件關聯的方式,只要是關聯的文件,就算在其他位置我們也有可能訪問的到,這個文件可能來自于SD卡,也可能來自于其他應用。

1. 如何注冊文件關聯

要處理特定的文件類型,請在應用清單文件中注冊文件關聯。同樣我們還是需要右鍵打開方式,選擇Xml文本編輯器的方式打開WMAppManifest.xml文件。必須在Tokens節點后,添加 Extensions 節點,在Extensions中我們定義了關聯的文件后綴名,已經文件的大中小型徽標。代碼如下:

[XML] <Extensions><FileTypeAssociation Name="文件關聯描述信息" TaskID="_default" NavUriFragment="fileToken=%s"><Logos><!--定義被關聯文件類型顯示徽標,大中小三種--><Logo Size="small" IsRelative="true">medium33x33.png</Logo><Logo Size="medium" IsRelative="true">medium69x69.png</Logo><Logo Size="large" IsRelative="true">large176x176.png</Logo></Logos><!--定義被關聯文件擴展名--><SupportedFileTypes><FileType ContentType="application/myfile1">.myfile3</FileType><FileType ContentType="application/myfile2">.myfile2</FileType></SupportedFileTypes></FileTypeAssociation></Extensions>

2. 偵聽文件啟動

當用戶通過SD卡或者其他應用打開您所關聯的文件類型時,系統將啟動您的應用,并發送如下格式的URI:
??? /FileTypeAssociation?fileToken=[GUID]

但是我們發現這個URI并不能直接關聯到我們應用的某個頁面,所以現在我們需要定義一個URI映射來處理這個特殊的URL。把它轉換成標準URI來引導MainPage.xaml。

注冊URI轉換:

首先,我們需要定義一個UriMapper,實現URI轉換的邏輯。新建類文件AssociationUriMapper.cs,輸入代碼如下:

[C#] public class AssociationUriMapper : UriMapperBase{public override Uri MapUri(Uri uri){string tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());//驗證Uri,是否為文件關聯引發if (tempUri.StartsWith("/FileTypeAssociation?fileToken=")){string fileToke = tempUri.Substring(31);//整理成規范URL,回發到MainPage.xamlreturn new Uri("/MainPage.xaml?fileToke=" + fileToke, UriKind.Relative);}return uri;}}

然后,我們需要在App.cs的InitializePhoneApplication方法中注冊我們的URI轉換類。添加方式如下圖:

下面,我們將要把偵聽到的文件識別為文本文件,并顯示出來,代碼如下:

[C#] protected async override void OnNavigatedTo(NavigationEventArgs e) {//獲取URI參數IDictionary<string, string> queryStrings = NavigationContext.QueryString;if (queryStrings.ContainsKey("fileToke")){var fileToke = queryStrings["fileToke"];//獲取文件名var fileName = SharedStorageAccessManager.GetSharedFileName(fileToke);//本地文件夾var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;//將文件拷貝到本地文件夾同名文件中var file = await SharedStorageAccessManager.CopySharedFileAsync(localFolder, fileName, NameCollisionOption.ReplaceExisting, fileToke);var stream = await file.OpenAsync(FileAccessMode.Read);StreamReader s = new StreamReader(stream.AsStream(), System.Text.Encoding.Unicode);var fileText = s.ReadToEnd();MessageBox.Show("文件名:" + fileName + "\n內容:" + fileText);}base.OnNavigatedTo(e); }

3. 啟動關聯文件

當第三方應用想打開關聯文件時,自己本身并不想實現解析文件的邏輯,則可以自動啟動我們的應用來打開。

[C#] //初始化文件列表 private async void filesInit() {//本地文件夾var localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;var files = await localFolder.GetFilesAsync();listboxFiles.ItemsSource = files.Where(x => x.Name.EndsWith(".myfile1") || x.Name.EndsWith(".myfile2")); }//打開選擇的文件,跳轉到關聯文件的應用 private async void Button_Click_2(object sender, RoutedEventArgs e) {StorageFile file = listboxFiles.SelectedItem as StorageFile;if (file == null) return;//啟動指定文件關聯的應用去打開文件Windows.System.Launcher.LaunchFileAsync(file); }

通過圖示顯示運行的效果:
???

4. 訪問SD卡

如果在SD卡中有我們關聯的文件類型,我們同樣可以主動遍歷去訪問它。實現訪問SD卡并讀取文件文本類容的代碼如下:

[XAML] <!--ContentPanel - 在此處放置其他內容--><Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"><ListBox x:Name="listboxFiles" Margin="10,92,135,288"><ListBox.ItemTemplate><DataTemplate><TextBlock Text="{Binding Name}"/></DataTemplate></ListBox.ItemTemplate><ListBox.ItemContainerStyle><Style TargetType="ListBoxItem"><Setter Property="Margin" Value="5"/><Setter Property="Background" Value="Blue"/></Style></ListBox.ItemContainerStyle></ListBox><TextBlock Text="SD卡可讀文件清單:" HorizontalAlignment="Left" Margin="10,53,0,0" TextWrapping="Wrap" VerticalAlignment="Top"></TextBlock><Button Content="打開選擇" HorizontalAlignment="Left" Margin="315,465,0,0" VerticalAlignment="Top" Click="Button_Click_1"/></Grid> [C#] protected override void OnNavigatedTo(NavigationEventArgs e){filesInit();base.OnNavigatedTo(e);}//初始化文件列表,只包含可識別文件private async void filesInit(){//獲取插入手機的SD卡集合,一般最多一張SD卡。var externalStorageDevices = await ExternalStorage.GetExternalStorageDevicesAsync();//獲取集合第一張SD卡ExternalStorageDevice sdCard = externalStorageDevices.FirstOrDefault();if (sdCard == null){MessageBox.Show("并沒有發現SD卡,請檢查SD卡是否插好。");return;}//獲取根目錄下全部文件var files = await sdCard.RootFolder.GetFilesAsync();listboxFiles.ItemsSource = files.Where(x => x.Name.EndsWith(".myfile1") || x.Name.EndsWith(".myfile2"));}//打開文件列表選擇的文件private async void Button_Click_1(object sender, RoutedEventArgs e){ExternalStorageFile file = listboxFiles.SelectedItem as ExternalStorageFile;if (file == null) return;//讀取文件var stream = await file.OpenForReadAsync();StreamReader s = new StreamReader(stream, System.Text.Encoding.Unicode);var fileText = s.ReadToEnd();MessageBox.Show("文件名:" + file.Name + "\n內容:" + fileText);}

?

四、URI關聯

設想這樣的應用場景,我們在應用A中,想利用應用B的功能。我們自己不想實現同樣的功能是因為B已經做得相當成熟了,沒有必要重復實現。比如:我們單擊一個電話號碼,就想直接打開撥號軟件開始撥打電話;單擊一個電子郵件,直接打開電子郵件的應用去編寫郵件,單擊一個視頻名,就可以打開視頻播放器播放該視頻。這個時候,都需要利用URI關聯的功能。

1. 注冊URI關聯

URI關聯的注冊同樣也需要編輯清單文件,右鍵點擊WMAppManfiest.xml 文件,選擇打開方式,在彈出窗口中選擇XML文本編輯器打開。在 Tokens 元素之后,在 Extensions 元素內添加如下代碼:

[XML] <Extensions><!--注冊關聯URI,Name部分為您特定的URI前綴--><Protocol Name="testuri" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" /></Extensions>

注冊好后,第三方應用可以通過如下URI導航到我們的應用:

testuri:[參數部分]

2. 偵聽URI

注冊好了URI關聯后,系統中其他應用所有前綴為testuri的URI請求都被我們的應用捕獲,我們還需要定義一個URI轉換來讓MainPage.xaml獲取。

[C#] class AssociationUriMapper : UriMapperBase{private string tempUri;public override Uri MapUri(Uri uri){tempUri = System.Net.HttpUtility.UrlDecode(uri.ToString());//驗證Uri,是否為已注冊的關聯if (tempUri.StartsWith("/Protocol?encodedLaunchUri=testuri:")){string uriMsg = tempUri.Substring(35);return new Uri("/MainPage.xaml?Msg=" + uriMsg, UriKind.Relative);}return uri;}}

我們還需要在InitializePhoneApplication 方法中注冊URI轉換

[C#] /* 在App InitializePhoneApplication 方法中,我們需要注冊URI轉換 */// 請勿向此方法中添加任何其他代碼private void InitializePhoneApplication(){if (phoneApplicationInitialized)return;// 創建框架但先不將它設置為 RootVisual;這允許初始// 屏幕保持活動狀態,直到準備呈現應用程序時。RootFrame = new PhoneApplicationFrame();RootFrame.Navigated += CompleteInitializePhoneApplication;//我們插入的代碼部分!!!//注冊我們的URI轉換RootFrame.UriMapper = new AssociationUriMapper();// 處理導航故障RootFrame.NavigationFailed += RootFrame_NavigationFailed;// 在下一次導航中處理清除 BackStack 的重置請求,RootFrame.Navigated += CheckForResetNavigation;// 確保我們未再次初始化phoneApplicationInitialized = true;}

在MainPage.xaml中處理URI關聯請求,代碼如下:

[C#] protected override void OnNavigatedTo(NavigationEventArgs e){IDictionary<string, string> queryStrings = NavigationContext.QueryString;if (queryStrings.ContainsKey("Msg")) MessageBox.Show("來自URI關聯調用方信息:\n" + queryStrings["Msg"]);base.OnNavigatedTo(e);}

3. 啟動URI

調用方是如何啟動這個關聯URI呢?代碼如下:

[C#] private async void Button_Click_1(object sender, RoutedEventArgs e){var c = await Windows.System.Launcher.LaunchUriAsync(new System.Uri("testuri:"+textbox1.Text));}

最后,我們看看演示效果:
??


五、啟動我的其他應用和啟動內置應用

1. 啟動我的其他應用

我的應用是指發布者ID一樣的應用,我們可以在清單文件里面設置這個ID,下面的代碼展示了啟動我發布的應用列表中第二個應用。

[C#] //啟動我發布的其他應用private void Button_Click_1(object sender, RoutedEventArgs e){//查詢本機其他與當前應用發行者ID相同的其他應用IEnumerable<Package> apps = Windows.Phone.Management.Deployment.InstallationManager.FindPackagesForCurrentPublisher();//啟動第二個應用apps.Skip(1).First().Launch(string.Empty);}

2. 啟動內置應用

內置應用指WP8手機系統本身自帶的應用,我們可以通過固定的方式啟動它們。下面代碼演示了如何使用。

[C#] //啟動內置應用private void Button_Click_2(object sender, RoutedEventArgs e){//打開IE訪問百度//Windows.System.Launcher.LaunchUriAsync(new Uri("http://www.baidu.com"));//打開內置郵箱發送郵件//Windows.System.Launcher.LaunchUriAsync(new Uri("mailto:username@163.com"));//呼叫手機//Windows.System.Launcher.LaunchUriAsync(new Uri("tel:13900000000"));//啟動Wi-Fi 設置//Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings-wifi:"));//其他的//ms-settings-accounts: 啟動帳戶設置應用。//ms-settings-airplanemode: 啟動飛行模式設置應用。//ms-settings-bluetooth: 啟動藍牙設置應用。//ms-settings-cellular: 啟動手機網絡設置應用。//ms-settings-emailandaccounts: 啟動電子郵件和帳戶設置應用。//ms-settings-location: 啟動位置設置應用。//ms-settings-lock: 啟動鎖屏設置應用。//ms-settings-wifi: 啟動 Wi-Fi 設置應用。//啟動 Windows Phone 商店 并顯示特定應用的詳細信息頁面。//Windows.System.Launcher.LaunchUriAsync(new Uri("zune:navigate?appid=fdf05477-814e-41d4-86cd-25d5a50ab2d8")); //啟動 商店 并顯示調用應用的查看頁面。//Windows.System.Launcher.LaunchUriAsync(new Uri("zune:reviewapp"));//啟動 商店 并顯示特定應用的查看頁面//Windows.System.Launcher.LaunchUriAsync(new Uri("zune:reviewapp?appid=appfdf05477-814e-41d4-86cd-25d5a50ab2d8"));//啟動 商店 并搜索//Windows.System.Launcher.LaunchUriAsync(new Uri("zune:search?keyword=關鍵字&publisher=發布者名稱&contenttype=app"));}

?

作者:[Lipan]
出處:[http://www.cnblogs.com/lipan/]
版權聲明:本文的版權歸作者與博客園共有。轉載時須注明原文出處以及作者,并保留原文指向型鏈接,不得更改原文內容。否則作者將保留追究其法律責任。 《上一篇:Windows phone 8 學習筆記 通信 系列目錄 下一篇:Windows phone 8 學習筆記 圖塊與通知》

轉載于:https://www.cnblogs.com/lipan/archive/2013/06/04/3080275.html

總結

以上是生活随笔為你收集整理的Windows phone 8 学习笔记(4) 应用的启动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。