When the Windows Phone Application is developed, it is necessary that one needs to set the required capabilities in the WMAppManifest.xml file. Some of these capabilities include
- ID_CAP_SENSORS
- ID_CAP_MICROPHONE
- ID_CAP_SPEECH_RECOGNITION etc.
What is the Use of Capabilities in the Windows Phone App?
Below are some of the reasons why we need to set the capabilities for the App.
1. When the user downloads and installs the Windows Phone app, it is necessary for the user to know about phone’s resources that the app uses. These could be microphone, network, camera etc. . . . The capabilities does exactly that. It provides an information to the user what the app can do and which phone functionalities the app uses when the user tries to download the app. These are displayed when the user is about to download and install. Now, the user can decide if he needs to download and install the app based on the Phone functionalities that the app used.
2. When the Windows Phone App is submitted to the Windows Phone store, the XAP (deployment) file will be decompressed and validated. The capabilities of the app is determined at this stage and written back to the manifest file during repackaging.
3. During the development, the developer can remove the unnecessary capabilities and include only the ones that are used by the App so that the capabilities that are not used can be avoided. By this , the developer is sure of what capabilities the app uses as well . There is an exception (different rule) in setting the capabilities for the Networking and Front Facing Camera though.
4. When the Capabilities are not defined in your Windows Phone App and when the App tries to access these API, you might get the “Access denied message” and then the app may exit unexpectedly.