List of Capabilities in the Windows Phone’s WMAppManifest.xml file

Capabilities are an easy way for the user to know about the resources / functionalities that an app can utilize and then decide to download the app . Some of these include camera access, geographic location data etc .

When a new Windows Phone project is created , by default , all the capabilities are included by default in the WMAppManifest.xml file .

These Capabilities include

  • ID_CAP_GAMERSERVICES – This is needed if the Windows Phone App interacts with the XBox Live.
  • ID_CAP_IDENTITY_DEVICE – This is needed if the Windows Phone App retreives unique Device ID or other unique device information.
  • ID_CAP_IDENTITY_USER – This is needed if the Windows Phone app retreives the anonymous LiveID of the user for identifying the user.
  • ID_CAP_LOCATION – This is needed if the Windows Phone app utilizes Geographic location services.
  • ID_CAP_MEDIALIB – This is required of the Windows Phone app accessess the phone’s media library.
  • ID_CAP_MICROPHONE – This is needed for the Windows Phone app that uses the microphone.
  • ID_CAP_NETWORKING – This is needed if the Windows Phone app utilizes the data connection.
  • ID_CAP_PUSH_NOTIFICATION – This is needed if the Windows Phone app uses push notifications.
  • ID_CAP_SENSORS – Required for the apps that utilizes sensors like accelerometer , gyroscope , compass etc.
  • ID_CAP_WEBBROWSERCOMPONENT – This is needed if the Windows Phone app uses WebBrowser control.
  • ID_CAP_ISV_CAMERA – This is needed if the Windows Phone app uses the device’s camera.
  • ID_CAP_CONTACTS – This is needed if the Windows Phone app uses the Contacts class for searching the users.
  • ID_CAP_APPOINTMENTS – This is needed if the Windows Phone app uses the Appointments class to search appointments.

Below is a sample WMAppManifest.xml file

<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
  <App xmlns="" ProductID="{28dcb0f4-93d3-459b-841b-b1a78e9dae09}" Title="PhoneApp4" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"  Author="PhoneApp4 author" Description="Sample description" Publisher="PhoneApp4">
    <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
    <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"/>
      <Capability Name="ID_CAP_ISV_CAMERA"/>
      <Capability Name="ID_CAP_CONTACTS"/>
      <Capability Name="ID_CAP_APPOINTMENTS"/>
    </Capabilities>
    <Tasks>
      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
    </Tasks>
    <Tokens>
      <PrimaryToken TokenID="PhoneApp4Token" TaskName="_default">
        <TemplateType5>
          <BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
          <Count>0</Count>
          <Title>PhoneApp4</Title>
        </TemplateType5>
      </PrimaryToken>
    </Tokens>
  </App>
</Deployment>

Leave a Reply