起因:

自打愚安我开始使用android设备以来,一直觉得google还算厚道,应用列表里的顺序一直都是依据APP的名称,按照先中文(拼音字母表顺序),后英文(字母表顺序)的原则进行排序的,并没有说Google自家的应用就排在前面,相反由于google的app大都是没有中文名的,一般都排的比较靠后。

就拿愚安我的Nexus 7来说,顺序为:艾诺迪亚4(ainuodiya4),百度魔图(baidumotu),保卫萝卜(baoweiluobo),布卡漫画(bukamanhua)。。。。。找你妹(zhaonimei),Air hockey,Angry Birds。。。。YouTube。

一切都看上去这么和谐,愚安还时常默念这些App的拼音来证实下自己小学老师死的不早。可是有一天,这货出现了,三观被毁了…

愚安我的Nexus上装的是中文版的美团(懒得截屏,在pc上的模拟器上给大家做的测试),app名称为美团HD,这货当时出现在了第一的位置,我瞬间觉得呼吸急促!!什么情况?我尝试着拼M-EI-MEI,没错啊,是M啊,怎么会这样!我当时自己给自己的解释是在google的汉字<=>拼音 映射表中,这个“美”字,要么没有收录,要么收录错了,成了A(啊音),就没当一回事。

可是,今天Nexus的空间有点吃紧,我还是删除一些不用的App。事实证明,有些事情就像街上的姑娘一样,换个角度看,就能发现美。当这些APP名称成竖排列表显示时,这个美团HD依然排在最上面,但是唯一不同的是,它的名称好像比下面的应用都稍稍向右偏移了一些角度,难道前面还有别的字符没有显示出来????

下了班后,我开始了自己的测试:

步骤1:猜测前面是一个不可见字符

随便在Eclipse里建了个Android项目,名称前面留了个空格,发现没有任何作用,app还是排在比较靠后的位置;

然后我又把空格换成了下划线,如下图,顺序是到了最前面了,但美团的开发人员显然不会无视大家的视力来这么做的。

算了,在虚拟机上装一个美团HD看看吧,如下图

擦,显示成拼音还是这么牛气的排在最前面,不能忍,要看你代码了。

步骤2:查看美团apk文件

我们知道,android应用的名称在一个叫AndroidManifest.xml,查看之

阿偶,乱码了。没办法,反编译吧

利用APK Multi(如上)将美团的apk文件反编译了,再来查看,如下:

懂android开发的同学,应该知道,上面的xml说明其名称为资源string里的app_name,查看如下:

果然,在“美团HD”的前后各出现了一个占位符,但具体是什么呢?我打开了,全字符查看模式,如下:

其中的…即为空格,CRLF为换行符,我们发现,那两个空白的地方仍然是什么都没有显示。怎么办呢?

好办,既然它出现在这里,还是可以被选中的,我拖动鼠标选中了它,然后打开度娘,粘贴,搜索,得到如下结果:

出现的搜索结果中出现的最多的是“02”(上图中,最后一个搜索结果大家无视掉),soga,果断打开ASCII表,查看,这个02到底是什么呢:

哦,原来是标志正文开始的符号啊!接着我把刚刚那个_QQ的应用的名称改成包含上述符号的 HD ,果断出现在了第一的位置。

至此,美团应用为什么会排在这么前面的原因,已基本清楚,细节部分,我也懒得去深究。但出现这种情况,到底是因为google的疏漏,还是开发者的小聪明,还是管理者的无赖呢?反正,愚安我是觉得,挺贱的,拿出来跟大家分享一下,只做交流,还是希望大家以后在开发的时候,尽量有点节操,不要使用这种手段。

试想一下,一款好的应用,用户是不会因为它的位置靠后就不去使用它了,再说了,用户还会在桌面上根据自己的使用习惯来设置快捷方式,这个是你左右不了的。为了用户多看到你一点,而使用这种方法,反而让像我这样的无聊用户感到反感。

贱贱的美团安卓客户端---如何实现让安卓app在应用列表获得较靠前的位置的更多相关文章

  1. 安卓客户端a标签长按弹框提示解决办法

    昨天工作时候发现一个bug,是关于a标签的,在安卓客户端中,如果是a标签的话,长按会出现一个弹框,如图所示 是因为安卓客户端的长按触发机制,以后进行wap端开发的时候,如果用到跳转页面尽量不要用a标签 ...

  2. 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信

    NetworkComms网络通信框架序言 用c#开发安卓程序 (xamarin.android)系列之三 源码(包含客户端与服务器端所有工程文件)    数据库文件 为了方便您测试,我临时搭建了一个服 ...

  3. .net和java和谐相处之安卓客户端+.net asp.net mvc webapi 2

    作为没有花很多时间转java,把java当C#用的我,在做服务器端程序的时候,自然不想考虑java web,java需要学的框架太多了,看了一下Java Servlet,始终没有编码的冲动.经过几天的 ...

  4. 大富豪APK安卓客户端的反编译修改和重新打包

    大富豪APK安卓客户端的反编译修改和重新打包 修改安装我们需要几个工具 DFH_3.4.X  (用于修改客户端) dnsPy        (用于修改.dll文件) 大富豪加解密.exe  ( 用于加 ...

  5. XMPP(二)-基于asmack+openfire的安卓客户端(仿QQ)的介绍以及个人心得

    关于XMPP第一篇-openfire的搭建写完后,就一直在赶本篇所要介绍的这个基于asmack+openfire的安卓客户端,费了不少精力,因为有不少同学在还在焦急的等待着(自恋了呵呵),所以紧赶慢赶 ...

  6. WebSocket安卓客户端实现详解(三)–服务端主动通知

    WebSocket安卓客户端实现详解(三)–服务端主动通知 本篇依旧是接着上一篇继续扩展,还没看过之前博客的小伙伴,这里附上前几篇地址 WebSocket安卓客户端实现详解(一)–连接建立与重连 We ...

  7. js判断安卓客户端或者是ios客户端,是否是微信浏览器

      代码: function xaizai() {  var u = navigator.userAgent, app = navigator.appVersion;  var isAndroid = ...

  8. WebSocket安卓客户端实现详解(一)–连接建立与重连

    http://blog.csdn.net/zly921112/article/details/72973054 前言 这里特别说明下因为WebSocket服务端是公司线上项目所以这里url和具体协议我 ...

  9. Flutter安卓客户端打包

    想要安装到手机上,必须要进行打包,因为没有苹果手机,所以只能打包Android客户端的apk. 检查 App的配置 查看默认应用程序清单文件(位于/android/app/src/main/中的And ...

随机推荐

  1. hibernate的第一个程序

    #建表语句 create database hibernate; use hibernate; create table user( id int primary key, name varchar( ...

  2. django 学习-13 Django文件上传

    1..vim blog/views.py from django  import  formsfrom django.http  import HttpResponse  1   2 from dja ...

  3. CSS之密码强度检测

    输入密码后单击空白处即可检测. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  4. jquery更改Reaper某一列的值

    一.实现效果:通过Jquery实现点击repeater中的按钮循环修改快递专线的线路状态 1.初始效果图 2.点击关闭专线按钮之后的效果图 二.MVC模式实现上述效果 SQLServerDAL层 #r ...

  5. (js有关图片加载问题)dom加载完和onload事件

    引用旺旺的话...哈哈哈DOMContentLoaded事件表示页面的DOM结构绘制完成了,这时候外部资源(带src属性的)还没有加载完.而onload事件是等外部资源都加载完了就触发的.$.read ...

  6. 如何下载免费英特尔® 实感™ SDK

    英特尔® 实感™ SDK支持的用途包括手/指跟踪.面部分析.语音识别和合成.背景分段.增强现实性等等,给你带来全新的人机交互体验.还不赶紧跟着我们一起免费下载英特尔® 实感™ SDK吧! 1. 输入网 ...

  7. Centos中安装PHP的PDO MySQL扩展的教程

    PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能.注意利用 PDO 扩展自身并 ...

  8. nyoj71--独木舟上的旅行

    描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量.我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅 ...

  9. Linux 网络工具之fping

    系统中有个最最常用命令工具--ping,而fping 是ping 工具的加强版本.安装过程很简单: [root@mail /]# wget --limit-rate 500k http://www.f ...

  10. Linux下iftop网卡流量监控使用

    在类linux系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态可以使用netstat.nmap等工具.若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop. 一.i ...