文章归档

Windows Phone应用部署错误代码索引

引子: 我们在部署一些第三方的XAP文件、注册开发者账号、安装开发工具等操作时,会接受到系统的一些错误代码, 通常都是以0x开头的十六进制数字, 非”专业”级的人员,很少有能看懂是什么意思的,so, 只能利用google,baidu等搜索引擎来帮助理解, 本文内容也来自于网络,不过,区别就是:本文内的描述,笔者会以一名开发者的视角,帮助朋友们简单阐述深藏在这些错误代码内部的技术原理及实现。不足之处,请指正!   错误代码 描述 0x8973180E 没有安装PC上的Zune软件,请先安装Zune。 0x8973180F Zune软件的版本号不对,请下载安装最新版的Zune。 0×89731810 错误的设备配置。请重新安装Visual Studio 2010 Express for Windows Phone 来纠正这个错误。 0×89731811 Zune软件没有运行,请打开Zune软件重新试验一下。 0×89731812 连接到设备失败,请确保手机已经被连接,同时屏幕没有锁定。 0×89731813 程序启动失败,请确保你的设备被注册并解锁。 0×81030110 程序安装失败,产生了一个运行时错误。请检查WMAppManifest.xml中的程序能力配置。 0×81030118 安装程序失败。设备被锁定,在向手机上部署程序之前请先解锁它。 0×81030119 你不能安装这个程序。已经达到允许安装的程序的最大数量。在安装新软件之前,请先卸载一个旧的通过Sideloading方式安装的程序。 0×81030120 XAP文件包含了本地代码调用,如果你的WP7手机是完全越狱的的(开发账号解锁不算完全越狱) 可以解决此问题, 比如用开发者账号下修改注册表的XAP就不能成功部署,权限太大。  80004005  系统ROM是伪中文,更新及解锁时会出错,解决方法:根据固件版本,下载官方ROM,重新刷机。  

WinPhone开发技巧训练:如何隐藏软键盘

引子: 有时在开发某些功能时,会涉及到文本框在输入完成后,自动把软键盘隐藏的功能,Windows Phone默认是不会自动隐藏掉的,因此,我们需要为其编写代码. 最终的效果图: 一、设计UI布局,您可以新建项目或在您已有的项目中新建一个页面,编写如下代码: 1: <Grid x:Name=”ContentPanel” Grid.Row=”1″ Margin=”12,0,12,0″> 2: <StackPanel Orientation=”Vertical”> 3: <TextBlock Text=”按Enter键隐藏软键盘:” /> 4: <TextBox x:Name=”txtWords” /> 5: <TextBlock Text=”常规文本输入:” /> 6: <TextBox /> 7: </StackPanel> 8: </Grid> 二、在MainPage.xaml的后置代码文件中,在其构造函数中,为Name为txtWords的控件编写事件处理函数,如下: 1: public MainPage() 2: { 3: InitializeComponent(); 4:   5: this.txtWords.KeyUp += new KeyEventHandler(txtWords_KeyUp); 6: } 8: void txtWords_KeyUp(object sender, KeyEventArgs e) [...]

Windows Phone应用程序政策性约束

引子: 了解必要的政策性官方约束,对我们在开发windows phone产品时有很大的帮助,本文基于英文版进行简要的翻译,以供国内开发者、产品人员查阅使用。英文地址见此:Application Policies 要求具体描述如下: 2.1、应用程序必须支持购买功能,除非应用程序事先已经与用户建立某种支付的渠道关系. 涉及到应用程序的解锁、体验、激活以及延长使用等操作时,不应当要求用户提供支付信息。 2.2、应用程序不能包含任何购买链接、或者以其他方式提供电话销售的信息。 2.3、应用程序内不能包含任何危害设备和市场安全的危险功能。 2.4、如果应用程序内包含或者含有显示广告的功能,那么,广告必须符合微软相关的政策指南,除广告外, 应用程序必须有独特的、实质性和合法的内容。 2.5、如果应用程序需要下载较大的数据包(如:大于50MB),那么: 在应用程序描述内,必须说明下载数据包的大小、是否收费等。同时,提供获取相关信息的链接。 2.6、如果应用程序含有聊天、即时消息、或其他人与人之间的沟通、允许用户在设备上创建自己的账号, 则应用程序必须包含一种认证机制,以验证用户是否大于13岁或满足年龄的相应限制。 2.7、以下要求适应于接受用户设备的位置服务: 2.7.1、应用程序必须使用微软提供的位置服务APIs 2.7.2、从位置服务API获取到的数据使用、你必须在<<应用程序隐私政策>>中予以说明、并明确告知用户, 这个政策协议你可以托管到网站抑或者直接在应用内说明。 2.7.3、必须提供在应用程序内的,允许用户启用和禁用应用程序的访问和使用位置服务API。 2.7.4、如果您的应用程序发布后使用位置服务数据(包含从位置服务API获取到的)给其他服务或用户, 应用程序必须实现一个方法来让用户选择“同意”,则:应用程序必须: A):首先介绍将要如何使用或者分享的信息。 B):发布前获取的位置信息,必须得到用户的许可。 C):提供一种机制,通过它用户可以选择在以后来使用位置信息的发布,应用程序必须定期提醒用户, 位置数据将要被发送给其他服务或人。 2.7.5、应用程序不能覆盖,规避,或压制任何Microsoft toast通知或提示相关的位置服务API。 2.7.6、您的应用程序不能覆盖或绕过用户的选择禁用移动设备上的位置服务。 2.7.7、只有在必要时,应用程序才可以提供位置感知功能,此时,应用程序必须要求有位置、 并且保留和使用位置服务API提供的数据信息。 2.7.8、您和您的应用程序必须采取措施,以防止未经授权的访问,使用或披露从位置服务API接收的位置数据. 2.8、如果应用程序分享用户的个人信息(包括,但不限于用户信息的联系人,照片,电话号码,短信,浏览历史记录、个性化的设备、用户ID)给其他服务或用户,应用程序必须实现一个方法来让用户选择“同意”,则必须: A):提供您的隐私政策,至少必须说明如何将使用或共享的个人信息; B):共享信息之前,获得用户的明确许可; C):提供一种机制,通过它用户可以在以后选择信息共享 2.9、如果您的应用程序使用微软的推送通知服务,则必须符合下列要求: 2.9.1、应用程序必须首先描述提供的通知,并获得用户的明确许可(OPT),同时,必须提供一种机制, 通过它用户可以选择接收推送通知.所有的通知必须使用微软的推送通知服务,必须与提供给用户Content Policies Additional Requirements for Specific Application Types的附加要求的描述是一致的。 2.9.2、不得过度使用微软的推送通知服务的网络容量或带宽,适当使用即可。微软有其合理的自由裁量权,不得损害或干扰任何Microsoft网络或服务器或任何第三方的服务器或网络连接到微软的推送通知服务。 2.9.3、由于不可抗力因素,当出现关键任务或其他可能影响生命或死亡的问题时,微软的推送通知服务可能无法用于发送通知。但,微软确保任何推送通知服务在正常的交付使用后,将无中断,无错误。 2.10、您的应用程序必须具有鲜明的,实质性的和合法的内容和目的。2.11、您的应用程序和相关的元数据必须准确地反映其功能,性能和功能。