天天看點

WP7 Dev 101 【5】 應用程式的能力

WP7 Dev 101 【5】 應用程式的能力 作者: Breakstring 分類: 開發技術 發表于2010-10-21 Capability,即能力。Windows Phone 7中的安全機制相比以前Windows Mobile平台要嚴格很多。在很多時候,你的程式想要做什麼事情必須要提前聲明出來讓使用者知道。這就是Capability。 我們建立立一個Silverlight for Windows Phone應用程式工程,在工程的Properties目錄下會看到一個WMAppManifest.xml檔案。它裡面定義了一些該程式的一些配置資訊。其中你會發現有個小節内容類似于: Code Snippet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 這裡就是在申明該程式的Capability。這裡所申明了的内容,使用者安裝程式的時候會在Marketplace中看到(PC端的Zune中帶的 Marketplace和WP7手機中的Marketplace)。例如,下面是我們從Zune中的Marketplace裡面看到WP7上的遊戲“the Harvest”的資訊: image 右下角的資訊顯示了,該程式需要通路網絡、傳感器、Media Library和XBox Live服務。如果使用者覺得某項功能可能對自己有潛在的危險,則可以拒絕安裝該軟體。例如,你發現一個“電腦”軟體,他居然聲明要讀取你的裝置或者你個人的辨別資訊,這顯然是違反常理的,你就可以拒絕安裝。如果程式中沒有辨別某項功能,但是代碼中的确用到了的呢?很簡單,就會抛出 “UnauthorizedAccessException“異常,進而保障了使用者的權益。是以,對于你的程式中所不需要通路到的功能,别忘了從 WMAppManifest.xml檔案中的 的小節将它們去掉。目前程式中可以聲明的Capability有: * ID_CAP_NETWORKING:網絡通路 * ID_CAP_IDENTITY_DEVICE:裝置的資訊,《WP7 Dev 101 【4】 如何擷取使用者和手機的資訊》一文曾用到 * ID_CAP_IDENTITY_USER:使用者的匿名身份資訊 * ID_CAP_LOCATION:位置資訊 * ID_CAP_SENSORS:傳感器 * ID_CAP_MICROPHONE:麥克風,用于錄音 * ID_CAP_MEDIALIB:通路媒體庫 * ID_CAP_GAMERSERVICES:XBox Live的一些服務 * ID_CAP_PHONEDIALER:撥打電話 * ID_CAP_PUSH_NOTIFICATION:推送消息 * ID_CAP_WEBBROWSERCOMPONENT:浏覽器元件 這節内容結束。更多101系列文章參見WP7 Dev 101索引。

繼續閱讀