zoukankan      html  css  js  c++  java
  • WP7 WMAppManifest.xml各个属性作用

    apability,即能力。Windows Phone 7中的安全机制相比以前Windows Mobile平台要严格很多。在很多时候,你的程序想要做什么事情必须要提前声明出来让用户知道。这就是Capability。

    我们新建立一个Silverlight for Windows Phone应用程序工程,在工程的Properties目录下会看到一个WMAppManifest.xml文件。它里面定义了一些该程序的一些配置信息。其中你会发现有个小节内容类似于:

    <Capabilities>
    <Capability Name=“ID_CAP_GAMERSERVICES“/>
    <Capability Name=“ID_CAP_IDENTITY_DEVICE“/>
    <Capability Name=“ID_CAP_IDENTITY_USER“/>
    <Capability Name=“ID_CAP_LOCATION“/>
    <Capability Name=“ID_CAP_MEDIALIB“/>
    <Capability Name=“ID_CAP_MICROPHONE“/>
    <Capability Name=“ID_CAP_NETWORKING“/>
    <Capability Name=“ID_CAP_PHONEDIALER“/>
    <Capability Name=“ID_CAP_PUSH_NOTIFICATION“/>
    <Capability Name=“ID_CAP_SENSORS“/>
    <Capability Name=“ID_CAP_WEBBROWSERCOMPONENT“/>
    </Capabilities>
    

    这里就是在申明该程序的Capability。这里所申明了的内容,用户安装程序的时候会在Marketplace中看到(PC端的Zune中带的Marketplace和WP7手机中的Marketplace)。例如,下面是我们从Zune中的Marketplace里面看到WP7上的游戏“the Harvest”的信息:

    image

    右下角的信息显示了,该程序需要访问网络、传感器、Media Library和XBox Live服务。如果用户觉得某项功能可能对自己有潜在的危险,则可以拒绝安装该软件。例如,你发现一个“计算器”软件,他居然声明要读取你的设备或者你个人的标识信息,这显然是违反常理的,你就可以拒绝安装。如果程序中没有标识某项功能,但是代码中的确用到了的呢?很简单,就会抛出“UnauthorizedAccessException“异常,从而保障了用户的权益。所以,对于你的程序中所不需要访问到的功能,别忘了从WMAppManifest.xml文件中的<Capabilities>的小节将它们去掉。目前程序中可以声明的Capability有:

    • ID_CAP_NETWORKING:网络访问
    • ID_CAP_IDENTITY_DEVICE:设备的信息
    • 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:浏览器组件
  • 相关阅读:
    [HAOI2010]软件安装
    「HNOI2015」菜肴制作
    [ZJOI2007] 小Q的矩阵游戏 (模板—Dinic)
    「POI2012」约会 Rendezvous
    [APIO2016]划艇
    [CQOI2011]放棋子
    【SDOI2015】bzoj3990 排序
    [bzoj2242] [SDOI2011]计算器
    模板—BSGS
    【BZOJ1227】[SDOI2009]虔诚的墓主人
  • 原文地址:https://www.cnblogs.com/jeekun/p/2068435.html
Copyright © 2011-2022 走看看