WMAppManifest.xml
大家在编写Windows phone的程序的时候可能并没有关注WMAppManifest.xml,其实这个档案是记录了应用程式的相关属性描述,以及定义应用程式的功能性的..所以还是相当重要的一个文档,这里我来详细介绍一下.
这是一个xml文件,文件头如下,其中AppPlatformVersion为该应用设计的目标SDK版本,比如下面的为7.1代表的是至少运行在Windows Phone 7 Mango固件上的。
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">
接下来的是程序的信息,各个标签说明:
• ProductID:代表APP的GUID 字串列表 • RuntimeType:设定APP是Silverlight 或是XNA 的类 • Title:App的列表页的名称,这里的文字也会显示在应用程式清单型 • Version:APP的版本编号 • Genre:当APP为Silverlight 时会为apps.normal,XNA时会为apps.game • Author:作者名称 • Description:APP的描述 (说明) • Publisher:这个值预设会是APP的名称,当您的应用程式有使用到Push的相关功能,这个值是一定要有的
注:其中比较关键的是ProductID,一台手机里面每个app的GUID都不相同..如果是相同的则会覆盖安装。
<App xmlns="" ProductID="{03E82BAA-4EC7-439E-816D-562AF7B7D2B0}" Title="(+)公交路线查询" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="陈仁松" Description="Sample description" Publisher="ChinaBus">
下面是列表图片的名称,比较简单,可以改成别的名字。
<IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
接下来是比较重要的<Capabilities>区域,这里是声明APP拥有哪些权限,默认如下所示,需要注意的是权限应保持最小也就是说改APP用到哪些权限就写哪些.未声明的权限会抛出“UnauthorizedAccessException“异常,各个标签说明:
- 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:浏览器组件

<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>

再往下看会看到Task的标签,默认如下所示,这个是APP内部使用的,一般来说不需要修改,不过可以关注下NavigationPage 的部分,假设你的起始页面(第一个启动显示的Page) 名称不是MainPage.xaml 的话,就可以在这边做对应的修改。
<Tasks>
<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
</Tasks>
再下面的是Tokens标签用来设置程序添加到主页面Tile时的瓷片的显示信息,这里TaskName必须和上面提到的Tasks里面的项对应.各个标签的说明
- BackgroundImageURI:App固定到开始屏幕上显示的图标
- Title:App固定到开始屏幕上显示的名称
- Count:就是QQ消息推送那个位置显示的未读消息数

<Tokens>
<PrimaryToken TokenID="ChinaBusToken" TaskName="_default">
<TemplateType5>
<BackgroundImageURI IsRelative="true" IsResource="false">Background.png</BackgroundImageURI>
<Count>0</Count>
<Title>(+)公交路线查询</Title>
</TemplateType5>
</PrimaryToken>
</Tokens>

WMAppManifest.xml的更多相关文章
- Windows Phone:如何检查WMAppManifest中的Capability属性
在Windows Phone应用中有一个应用程序清单(WMAppManifest.xml),其中对于不同的应用可以设定Capability来告知需要哪些特性或功能,详细内容可以参考官方文档: http ...
- WP中的语音识别(上):基本识别
WP 8.1目前许多内容仍处于未确定状态,因此,本文所提及的语音识别,是基于WP8的,在8.1中也差不多,也是使用运行时API来实现,如果大家不知道什么是运行时API,也没关系,不影响学习和开发,因为 ...
- WinPhone学习笔记(一)——页面导航与页面相关
最近学一下Windows Phone(接下来简称“WinPhone”)的开发,在很久很久前稍探究一下WinPhone中对一些传感器的开发,那么现在就从头来学学WinPhone的开发.先从WinPhon ...
- Windows phone 8.0 本地化遇到的两个问题
基本上来说,按照msdn来讲的,本地化和全球化没有太多的问题,链接如下: http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff ...
- Setting start page of Windows Phone dynamically through code
Essentially this one line of code will set the start page of the application. var navTo = new Uri(&q ...
- Getting the Device GUID
Sometime you may want to uniquely identify a Windows Phone, such as when you are implementing push n ...
- Background agent
Periodic Task Periodic agents run for a small amount of time on a regular recurring interval. Typica ...
- How to use the Isolated Storage Explorer tool for Windows Phone
Isolated Storage Explorer is installed in the following location: Program Files (x86)\Microsoft SDKs ...
- 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复
[源码下载] 与众不同 windows phone (47) - 8.0 其它: 锁屏信息和锁屏背景, 电池状态, 多分辨率, 商店, 内置协议, 快速恢复 作者:webabcd 介绍与众不同 win ...
随机推荐
- c#按字符串中的数字排序问题
在.net 的framewrok框架中提供的排序方法中,如string.sort() 或ArrayList.Sort()方法.这两个方法对字符串排序时,如果字符串中含有数字,则不会按数字大小排序.如: ...
- 洛谷P3375KMP字符串匹配
传送门 #include <iostream> #include <cstdio> #include <cstring> #include <algorith ...
- 带你走进Android Afinal框架的世界
1.什么是Afinal框架? Afinal是一个开源的android的orm和ioc应用开发框架,其特点是小巧灵活,代码入侵量少.在android应用开发中,通过Afinal的ioc框架,诸如ui绑定 ...
- Smashing The Browser:From Vulnerability Discovery To Exploit学习记录
浏览器Fuzz技术 漏洞挖掘 白盒挖掘 代码审计 自动化代码分析 黑盒挖掘 Fuzzing 两种Fuzzing技术 静态Fuzzing 基于变异的 文件.文档 多媒体 bf3 基于生成的 浏览器 重点 ...
- IDEA下利用Jrebel插件实现JFinal项目main方法【热加载】
IDEA下利用Jrebel插件实现JFinal项目main方法[热加载] Jrebel破解办法 https://github.com/ilanyu/ReverseProxy/releases/tag/ ...
- Java编程的逻辑 (3) - 基本运算
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- 【LOJ】#2533. 「CQOI2018」交错序列
题解 有毒吧 这题\(O(n)\)过不去 非得写\(O((a + b)^3\log n)\)的矩乘,同样很卡常 把\(x\)换成\(n - y\) 我们拆完式子发现是这样的 \(\sum_{i = 0 ...
- Codeforces Round #355 (Div. 2) D. Vanya and Treasure
题目大意: 给你一个n × m 的图,有p种宝箱, 每个点上有一个种类为a[ i ][ j ]的宝箱,a[ i ][ j ] 的宝箱里有 a[ i ][ j ] + 1的钥匙,第一种宝箱是没有锁的, ...
- PHP字符串指定位置插入字符串
1.substr_replace(string,replacement,start,length);需插入时设置length为0即可 string 必需.规定要检查的字符串. replacement ...
- 000 Jquery的Hello World程序
1.介绍Jquery 2.简介 3.新建一个静态项目,并粘贴jquery库 4.程序 <!DOCTYPE html> <html> <head> <meta ...