【Android开发Wiki】进阶篇TV应用设计(三)—在电视上处理不支持的功能.pdfVIP

【Android开发Wiki】进阶篇TV应用设计(三)—在电视上处理不支持的功能.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【Android开发Wiki】进阶篇TV应用设计(三)—在电视上处理不支持的功能

eoe 移动开发者社区 / 原文链接:/training/tv/unsupported-features-tv.html 电视远比其他安卓设备复杂: 电视不是手机. 和手机的使用习惯有所区别,用户看电视,很少(像手机那样)和电视交互(例如触摸). 即使交互也会远距离交互(例如遥控器). 因为电视和其他安卓设备用途不同,通常有很多硬件功能上的差异,种种原因,安卓电视就 不支持如下功能: 通过讲解如下两点,你会学到怎么在没有某些功能的情况下对安卓电视编程: 针对安卓电视不支持的功能的解决办法 运行时检测功能的可用性,从而让系统只执行那些和设备支持的功能相对应的代码。 针对安卓电视不支持的功能的解决办发法 安卓电视不提供触摸屏接口,大部分电视都没有触摸屏,像(电视机和人相距)10尺的距离, 让任何电视使用触摸的方式也不现实,所以,我们一般使用遥控器和电视交互,考虑到这点, 就得确保应用中的所有控制都可以用方向键完成。关于优化电视布局和导航布局的话题的相 关细节可以参考前两节课。安卓系统是默认设备带有触摸屏的,所以如果系统在电视上运行, 就得在配置文件mainfest配置一下,不需要触摸屏: uses-feature android:namefalse 1/ 即使电视没有摄像头,我们仍然可以在安卓电视里一个图像处理程序,不过此程序只供用户 查看和编辑图片,拍照功能禁用就可以了。下一段将讲解怎么启用或禁用一些基于运行时设 备类型检测的特殊功能。 因为电视固定的、室内设备,所以没有内置GPS。如果你的程序需要用到地理位置信息,要 么让用户(联网)查询,要么使用static location provider 得到这些信息,这种方式是 eoe 移动开发者社区 / 通过查询邮编完成的。 LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCAT ION_SERVICE); 1 Location location = locationManager.getLastKnownLocation(static); 2 Geocoder geocoder = new Geocoder(this); 3 Address address = null; 4 5 try { 6 address = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 7 1).get(0); 8 Log.d(Zip code, address.getPostalCode()); 9 10 } catch (IOException e) { 11 Log.e(TAG, Geocoder error, e); 12 } 安卓电视果断也不支持麦克风,但是我们可以在安卓电视上运行一个语音控制的小程序,然 后再在手机上运行一个接受语音输入的小程序,这样安卓电视就可以远程控制手机了。 运行时检测功能的可用性 如果想查询哪些功能是否可用,调用方法hasSystemFeature(String) . 该方法就一个参数, String类型,表示你想查询的功能类型,例如,传参 FEATURE_TOUCHSCREEN,返回(设备) 是否支持触屏功能。 以下代码片段演示了如何在程序运行时检测设备类型,这种检测基于设备支持的功能(根据 支持的功能给设备分个类): // Check if android.hardware.telephony feature is available. 1if (getPackageManager().hasSystemFeature(android.hardware.telephony)) { 2 Log.d(Mobile Test, Running on phone); 3// Check if android.hardware.touchscreen feature is available. 4} else if (getPackageManager().hasSy

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档