2013年1月7日 星期一

[WP] 判斷Windows Phone 8 App是否執行在兒童專區(Kid's Corner)

Windows Phone 8手機中有一項新增的功能叫做兒童專區(Kid’s Corner),在這個兒童專區內Windows Phone手機只能夠執行某些允許的App或遊戲,無法更改手機內的設定或上Store購買App等等,可以參考Windows Phone官網的兒童專區說明
http://www.windowsphone.com/zh-tw/How-to/wp8/basics/set-up-kids-corner

而對開發者來說,雖然兒童專區比較算是手機使用者的功能,但還是有些情境可以來提供更好的使用者經驗,舉個例子來說,因為兒童專區中很多的手機功能與應用程式並無法被執行,所以當App執行在兒童專區時,就可以考慮把使用到無法執行的功能給關閉或隱藏起來,或者像App本身有提供In-App Purchase的話,那當執行在兒童專區時,因為預設並無法購買,所以也可以考慮把這功能給關閉掉,這時就可以透過在程式中判斷App是否執行在兒童專區來提供不同的功能。

接著用一個簡單的範例來說明一下,這個範例功能就是如果App是在一般模式來執行,我們就顯示美麗的女明星"張韶涵",而如果App是執行在兒童專區時,我們就把圖片換成兒童可能更喜歡的卡通"烏龍派出所"(這使用情境也還蠻有道理的吧XD 微笑)。
至於要判斷是否執行在兒童專區可以透過ApplicationProfile.Modes,如果Mode是Alternate就是執行在兒童專區,而為Default就理所當然是在正常的模式中,記得先using Windows.Phone.ApplicationModel
if (ApplicationProfile.Modes == ApplicationProfileModes.Default)
{       //兒童專區
    TitleTextBlock.Text = "Kid’s Corner";
    SampleImage.Source = new BitmapImage(new Uri("Kid.jpg", UriKind.Relative));
}
else
{       //一般模式
     TitleTextBlock.Text = "Default Mode";
     SampleImage.Source = new BitmapImage(new Uri("Default.jpg", UriKind.Relative));
}
 

這是一般執行的情況(是美麗的女明星照片)
image


接著進入兒童專區來測試,在模擬器中已經有內建Kid’s Corner功能,點選Kid’s Corner後就可以進入兒童專區設定
image


在這一步驟可以點選手機中的Apps來增加兒童專區內所允許執行的App或遊戲等
imageimage


接著就進入到兒童專區了,可以看到裡面就只會有前面步驟所允許的App出現
image


這時再去執行範例App,可以看到圖片就換成適合兒童的卡通圖片,表示此App是執行在兒童專區
image


那如果在程式中有去用到一些不被允許或無法執行的App或功能時,像是這邊嘗試要透過MarketplaceHubTask來進入市集,但市集並不能在兒童專區中執行,所以就會顯示下面的畫面告訴你在兒童專區時無法執行,因此這也就是前面一開始舉例時說到的情況,當App執行在兒童專區時,我們就可以考慮把使用到無法執行的功能給關閉或隱藏起來囉
image

0 意見:

張貼留言