程序员MM自白:磨人小妖精之安卓碎片化.docVIP

程序员MM自白:磨人小妖精之安卓碎片化.doc

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

程序员MM的自白:磨人小妖精之安卓碎片化 文/腾讯优测 章婉霞 除了crash问题,Android平台的碎片化越来越受到移动开发的关注,且不谈支持Android系统的移动设备早已过万款,屏幕、品牌以及传感器等方面的碎片化问题也困扰着开发者。 初级Android的开发人员经常关心的问题就是开发的应用能不能在需求的设备上正常运行。为什么我没有说所有设备呢?长期盘踞各Android设备市场份额或市场关注度榜单前十位,被大家熟知的品牌,它们ROM的个性化都足以让人眼花缭乱了,更何况在如今“乱世”里那些七零八落的机型了。想要做更全面的自动化机型测试,破解兼容问题,腾讯优测是很好的选择。 最近笔者在做Launcher上图标的清理,接到这个需求的时候,内心是感到轻松的,感觉查询需要删除的图标然后删除不就OK了。但事实证明,我还真是很年轻呢。 Launcher个性化 我们都知道,Android源码中有Google做的原生Launcher。在2.1及之前的版本中,使用com.android.launcher;2.2至4.3版本使用的是com.android.launcher2;4.4版本开始则使用com.android.launcher3。 为了探究一下不同机型的Launcher应用,我分别查看了五部手机,结果如下: 型号系统版本Launcher包名1三星I90824.1.2com.sec.android.app.launcher2华为G6064.0.3com.huawei.android.launcher3HTC T328W4.0.3com.htc.launcher4努比亚Z9 Mini5.0.2cn.nubia.launcher5锤子 T14.4.2com.android.launcher3 除了锤子使用了原生的Launcher外,其他四个机型都经过了个性化再开发。在实际操作中也可以发现,对图标上的操作响应也不尽相同。 对于点击Home键后有“应用”图标的Launcher,长按应用并拖动可在桌面上创建快捷方式。而没有“应用”图标的Launcher,长按加拖动则只能实现应用图标的移动。 应用要创建和删除自己的快捷方式图标只需发送如下两个Intent即可: com.android.launcher.action.INSTALL_SHORTCUT com.android.launcher.action.UNINSTALL_SHORTCUT 同时需要在AndroidManifest.xml中添加如下两个权限: android:name=com.android.launcher.permission.INSTALL_SHORTCUT android:name=com.android.launcher.permission.UNINSTALL_SHORTCUT 而第三方应用要对Launcher上其他应用的快捷方式图标进行删除,最简单粗暴的方式是直接从数据库里删除,当然我们并不推荐,即便发送删除的Intent也需要获知该图标在Launcher保存信息的数据库launcher.db中的一条具有独特性的信息。 接下来我们看看launcher.db数据库是不是像网络上说的那般,favorites表中保存着图标信息。 数据库个性化 从导出launcher.db来看,上述表中的五部手机大部分都在favorites表中保存图标信息,三星I9082则在favorites中只保存主桌面图标,其他应用图标保存在favorites_normal表中。而各机型launcher.db中存放的数据及形式也有所区别,详细情况见如下两图: 图1-1 努比亚launcher.db数据 图1-2 三星I9082 launcher.db数据 权限个性化 一旦要对Launcher数据库有访问,至少需要有对数据库的读权限,而要进行操作,权限要求会更高(写数据库的权限安全等级一般都是signatureOrSystem)。据不完全统计,要适配市场上大部分的设备,如下所列出的一大长串权限是免不了的,而且肯定还有不少漏网之鱼。 android:name=com.android.launcher.permission.READ_SETTINGS android:name=com.android.launcher.permission.WRITE_SETTINGS android:name=com.android.launcher2.permission.READ_SETTINGS android:name=com.android.launcher2.permission.WRITE_SETTINGS android:n

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档